intGCD(int m,int n)//求最大公约数 { if (n>m)//始终让m里面的数字是大的 { int temp; temp = n; n = m; m = temp; } //开始辗转相除 int remainder = m % n;//余数 while (remainder) { m = n; n = remainder; remainder = m % n; } return n; }
intLCM(int gcd,int m,int n) { return (m*n/gcd); } intmain() { int m,n; printf("请输入两个正整数m和n,求其最大公约数和最小公倍数:->"); scanf("%d,%d",&m,&n); int gcd = GCD(m,n); int lcm = LCM(gcd,m,n); printf("最大公约数是:%d\n",gcd); printf("最小公倍数是:%d",lcm); return0; }