c语言编程练习题
两个数的最大公约数是能够整除这两个整数的最大整数(int型,大于0),
要求
对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗
使用辗转相除
法实现,求最大公约数用函数实现,要求该函数有返回值(最大公约数)。 #include
#include
int main()
{
int a,b,k;
int fun(int a,int b);
scanf ("%d,%d",&a,&b);
k = fun (a,b);
printf ("%d\n",k);
return 0;
}
int fun (int x,int y)
{
int p=1;
while (p!=0)
{
p = x % y;
x = y;
y = p;
}
return (x);
}
从键盘任意输入一个整数m(m>=2),若m不是素数,则对m进行质因数分解,并将m以质
因数从小到大顺序排列的乘积形式输出,否则输出“It is a prime number”。例如用户输入90
时,程序输出90=2*3*3*5;用户输入17时,程序输出"It is a prime number"。要求用函数实
现。
#include
#include
int fun (int m);
int print1(int a[],int k);
int fun (int m)
{
int i,n,k=0;
int a[50];
n=m;
for (i=0; i<=49; i++) a[i]=0;
for (i=2; i<=n;)
{
if (n%i==0)
{
k++;
a[k]=i;
n=n/i;
i=2;
}
else i++;
}
if (k>=2) { printf("%d=",m); print1(a,k); }
else printf ("It is a prime number\n");
return 0;
}
int print1(int a[],int k) {
int i;
printf ("%d",a[1]);
for (i=2; i<=k; i++) printf ("*%d",a[i]);
return 0;
}
int main()
{ int m;
scanf ("%d",&m);
fun(m);
return 0;
}
求解ackerman函数
#include
#include
int ack(int m,int n);
int ack(int m,int n)
{
if (m==0) return (n+1);
if ((m!=0) && (n==0)) return (ack(m=m-1,1));
if ((m!=0) && (n!=0)) return (ack(m=m-1,ack(m,n=n-1)));
}
int main()
{ int y,m,n;
m=3; n=3;
y=ack(m,n);
printf("%d\n",y);
return 0;
}