main()
{
int a,b,i,c,m,n;
printf("input two number:");
scanf("%d%d",&a,&b);
if(b<a)
{
c=a; a=b; b=c;
}
for(i=a;i>0;i--)
{
if(a%i==0)
m=i;
if(b%i==0)
n=i;
if(n==m) break;
}
printf("%d",n)
}
问问题前 先看论坛的其他帖子
这个题有问过的!
上面的是我写的
只写了一问
下面这个是一个经典算法
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int main(void) {
int m, n, max, temp;
printf("Please input two numbers:\n");
scanf("%d%d", &n, &m);
if (m < n) {
temp = m;
m = n;
n = temp;
}
max = gcd(m, n);
printf("The max commom divisor is: %d", max);
printf("\n The min common multiple is: %d", m * n / max);
}