求C语言程序:求两个整数的最大公约数和最小公倍数.用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数.要用函数表达,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 11:52:25
求C语言程序:求两个整数的最大公约数和最小公倍数.用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数.要用函数表达,

求C语言程序:求两个整数的最大公约数和最小公倍数.用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数.要用函数表达,
求C语言程序:求两个整数的最大公约数和最小公倍数.
用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数.
要用函数表达,

求C语言程序:求两个整数的最大公约数和最小公倍数.用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数.要用函数表达,
#include
int main()
{
int m,n,t,i;
scanf("%d%d",&m,&n);
if(m>n)
{
t=n;
n=m;
m=t;
}
for(i=m;i>=2;i--)
if(m%i==0&&n%i==0)
printf("%d,%d\n",i,m*n/i);
return 0;
}

#include
void main()
{
int m,n,r,t;
printf ("请输入两个正整数m,n:");
scanf("%d%d",&m,&n);
if(n>m)
{
t=n;
...

全部展开

#include
void main()
{
int m,n,r,t;
printf ("请输入两个正整数m,n:");
scanf("%d%d",&m,&n);
if(n>m)
{
t=n;
n=m;
m=t;
}
r=m*n;
t=m%n;
while(t)
{
m=n;
n=t;
t=m%n;
}
printf("他们的最大公约数:%d \n",n);
printf("他们的最小公倍数:%d \n",r/n);
}

收起

用欧几里德辗转相除法:
#include
int dy(int a, int b) //公约数
{
return (!b)? a : dy(b, a % b);
}
int db(int a, int b) //公倍数
{
return a * b / dy(a, b);
}<...

全部展开

用欧几里德辗转相除法:
#include
int dy(int a, int b) //公约数
{
return (!b)? a : dy(b, a % b);
}
int db(int a, int b) //公倍数
{
return a * b / dy(a, b);
}
void main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("最大公约数:%d\n最大公倍数%d\n", dy(a, b), db(a, b));
}

收起

#include
int fun(int m,int n)/*求最大公约数*/
{
int t;
if(n>m)
{
t=n;
n=m;
m=t;
}
t=m%n;

全部展开

#include
int fun(int m,int n)/*求最大公约数*/
{
int t;
if(n>m)
{
t=n;
n=m;
m=t;
}
t=m%n;
while(t)
{
m=n;
n=t;
t=m%n;
}
return n;
}
void main()
{
int m,n,gcd,lcm;/*gcd是最大公约数,lcm是最小公倍数*/
printf ("Input two integer m,n:");
scanf("%d%d",&m,&n);
gcd=fun(m,n);
lcm=m*n/gcd;/*求最小公倍数*/
printf("gcd=%d\n",gcd);
printf("lcm=%d\n",lcm);
}

收起