求C语言程序:求两个整数的最大公约数和最小公倍数.用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数.要用函数表达,
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 03:57:01
![求C语言程序:求两个整数的最大公约数和最小公倍数.用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数.要用函数表达,](/uploads/image/z/1803647-47-7.jpg?t=%E6%B1%82C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%EF%BC%9A%E6%B1%82%E4%B8%A4%E4%B8%AA%E6%95%B4%E6%95%B0%E7%9A%84%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E5%92%8C%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0.%E7%94%A8%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E6%B1%82%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%2C%E7%94%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%87%BD%E6%95%B0%E6%A0%B9%E6%8D%AE%E6%B1%82%E5%87%BA%E7%9A%84%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E6%B1%82%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0.%E8%A6%81%E7%94%A8%E5%87%BD%E6%95%B0%E8%A1%A8%E8%BE%BE%EF%BC%8C)
求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);
}
收起