设计一个过程(函数或子程序):求两个正整数的最大公约数。在主调函数过程中调用
发布网友
发布时间:2022-05-30 03:24
我来回答
共4个回答
热心网友
时间:2023-09-30 08:56
C++编写:已经调试,程序正确。
#include <iostream.h>//辗转相除法求最大公约数
int num(int a,int b)
{
int c;
if(a<b)
{ c=a; a=b; b=c;}
while((a%b)!=0)
{
c=a;
a=b;
b=(c%b);
}
return b;
}
int min(int x,int y)
{
if(x>=y)
return y;
else
return x;
}
void main()
{
int s,t,p;
s=num(22440,31416);
cout<<"(22440,31416)的最大公约数s="<<s<<endl;
t=num(27132,22287);
cout<<"(27132,22287)的最大公约数t="<<t<<endl;
p=min(s,t);
cout<<"p=min(s,t)="<<p<<endl;
cout<<"(p,23868)的最大公约数为:"<<num(p,23868)<<endl;
}
热心网友
时间:2023-09-30 08:56
#include<stdio.h>
int *(int a,int b)
{
return b?*(b,a%b):a;
}
int main()
{
int s,t,p;
s=*(22440,31416);
printf("s=%d\n",s);
t=*(27132,22287);
printf("t=%d\n",t);
p=s<t?s:t;
printf("p=%d\n",p);
p=*(p,23868);
printf("p=%d\n",p);
return 0;
}
热心网友
时间:2023-09-30 08:57
int GCD(int a,int b)
{
int t;
if (a<b){ t=a;a=b;b=t;}
do
{
t=a%b;
a=b;
b=t;
}while(t!=0)
return a;
}
void main()
{
int s,t,p,ans4;
s=GCD(22440,);
t=GCD(27132,22287);
p=(s>t)?t:s;
ans4=GCD(p,23868);
}
热心网友
时间:2023-09-30 08:57
作业吧!
还是看书去吧 这些简单的东西应该自己去做
拿来主义是不好的