输入两个正整数m和n,求其最大公约数和最小公倍数
使用C语言实现,具体代码:
使用辗转相除法(也称欧几里得算法)计算最大公约数
while(b != 0){
temp = a % b;
a = b;
b = temp;
}
最小公倍数(LCM)= (n1 * n2) / 最大公约数
#include<stdio.h>
int main(){
int a,b,n1,n2,temp;
printf("输入两个数:");
scanf("%d %d",&n1,&n2);
if(n1<n2){
temp=n1;
n1=n2;
n2=temp;
}
a=n1;
b=n2;
while(b!=0){
temp=a%b;
a=b;
b=temp;
}
printf("最大公约数是%d,最小公倍数是%d",a,n1*n2/a);
return 0;
}
测试结果:
程序正确!
觉得有帮助的话点个赞吧!