前言
C程序设计 (第三版) 谭浩强 习题2.4(7) 个人设计
习题 2.4(7) 求两个数m和n的最大公约数。
提示:以下是本篇文章正文内容,下面案例可供参考
代码如下(示例):
1.//利用递归算法求两个整数的最小公倍数
#include <stdio.h>
int gcd(int x,int y);
int lcm(int x,int y);
int main(){
int m,n;
scanf("%d,%d",&m,&n);
printf("最大公约数:%d",gcd(m,n));
printf("最小公倍数:%d",lcm(m,n));
}
int gcd(int x,int y){
if(x%y==0)
return y;
return gcd(y,x%y);
}
int lcm(int x,int y){
return x*y/(gcd(x,y));
}
//1.辗转相除法求最小公倍数
#include <stdio.h>
int main(){
int m,n,r;
scanf("%d,%d",&m,&n);
int p=m*n;
while(m%n!=0){
r=m%n;
m=n;
n=r;
}
printf("最大公约数:%d",n);
printf("最小公倍数:%d",p/n);
return 0;
}
2.读入数据
代码如下(示例):
输入 25,15
结果 5,75