c语言中输入两个整数求最大公约数和最小公倍数
时间: 2024-06-14 22:03:18 浏览: 122
以下是两种C语言求最大公约数和最小公倍数的例子:
1.使用for循环求解最大公约数和最小公倍数
```c
#include <stdio.h>
int main(){
int m,n,i,j,temp;
printf("请输入m:");
scanf("%d", &m);
printf("请输入n:");
scanf("%d", &n);
if(m>n){
temp = m;
m = n;
n = temp;
}// m 为小的,n为大的
for(i=m;i>0;i--){
if(m%i==0 && n%i==0){
printf("最大公约数为:\t%d\n", i);
break;
}
}
for(j=m;;j++){
if(j%m==0 && j%n==0){
printf("最小公倍数为:\t%d\n", j);
break;
}
}
return 0;
}
```
2.使用while循环求解最大公约数和最小公倍数
```c
#include <stdio.h>
int main() {
int x, y, a, b, temp, r = 0, min = 0;
printf("请输入两个整数:\n");
scanf("%d%d", &x, &y);
if (x < y) { //交换大小顺序,大数对小数取余
temp = x;
x = y;
y = temp;
}
a = x;
b = y;
r = a % b;
while (r != 0) { //辗转相除求最大公因数,b即为最后的最大公因数
a = b;
b = r;
r = a % b;
}
min = (x * y) / b; //最小公倍数
printf("最大公因数:%d\n最小公倍数:%d\n", b, min);
return 0;
}
```
阅读全文