偶遇一个简单的题但是其中的算法值得我借鉴 正是最大公约数和最小公倍数的求法 直接上代码简单易懂:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include<stdio.h> int gcd(int m,int n) { int t; if(m<n) t = n,n = m,m = t; if(n == 0) return m; else return gcd(n,m%n); } int lcm (int m,int n) { return m*n/gcd(m,n); } int main() { int m,n,i=0; int a[20]; while(scanf("%d %d",&m,&n) == 2&&n!=0) printf("%dn",lcm(m,n)); }
|