先用欧几里得算法求最大公约数然后求出最小公倍数。#define uint unsigned int uint a, b; uint gcd(uint,uint); void main( ) { uint c, d; a125; b75; cgcd(a,b); da*b/c; }uint gcd(uint x,uint y) { uint r; while(y!0) { rx-y*(x/y); //r为x/y的余数 xy; yr; } return x; }运行结果求555555、777、6435、10868这4个正整数的最小公倍数。#include stdio.h #include stdlib.h long long attain_LCM(long long, long long); long long attain_GCD(long long, long long); int main() { long long n, m, p, q; long long lcmv, lcmv1, lcmv2; n555555;m777;p6435;q10868; lcmv1attain_LCM(n, m); // 最小公倍数 printf(%lld和%lld的最小公倍数为%lld\n, n, m, lcmv1); lcmv2attain_LCM(p, q); printf(%lld和%lld的最小公倍数为%lld\n, p, q, lcmv2); lcmvattain_LCM(lcmv1, lcmv2); printf(最小公倍数为%lld\n, lcmv); getchar(); return 0; } long long attain_LCM(long long m, long long n) // 得到最小公倍数 { return m/attain_GCD(m, n)*n; } long long attain_GCD(long long m, long long n) // 得到最大公约数 { long long temp; while( n ! 0) { tempm-n*(m/n); //temp为x/y的余数 mn; ntemp; } return m; }555555和777的最小公倍数为5555556435和10868的最小公倍数为489060最小公倍数为126666540