int main() { int m,n,t,gcd,gcm; int a,b; scanf("%d%d",m,n); t=m%n; a=m;b=n; while(t!=0) { m=n; n=t; t=m%n; } gcd=n; gcm=a*b/gcd; printf("%d和%d的最大公约数为:%d,最小公倍数为:%d\n",a,b,gcd,gcm); return 0; } 程序运行情况如下:...
b)return a;return gcd(b, a % b);}int lcm(int a, int b){return a * b / gcd(a, b);}int main(){int m, n;scanf("%d%d", &m, &n);printf("最大公约数:%d\n", gcd(m, n));printf("最小公倍数:%d\n", lcm(m, n));return 0;} ...
for (y=m;y>=1;y--) //最大公约数y应不大于m,且不小于1,并能被m,n整除。//if((m%y==0)&&(n%y==0)) break;x=(m*n)/y; //最小公倍数=m*n再除以它们的最大公约数。//printf("最大公约数为:%d\n最小公倍数为:%d\n",y,x);...
int m,n,r,tm,tn; scanf("%d%d",&n,&m); if(m { 大个部物天结别南风劳存快引。 r=n; n=m; 用子三相条别根确张局引。 m=r; } tm=m; tn=n; r=m%n; while(r) { m=n; n=r; r=m%n; } printf("%d,%d\n",n,tm*tn/n); } scanf那少了%d。if加{},逻辑错误。赋值放在s...
int main(){ int m,n,r,tm,tn; scanf("%d %d", &m,&n ); tm=m; tn=n; if(m r=m; m=n; n=r;//交换m,n } r=m%n; while(r){ m=n; n=r; r=m%n; } printf("最大公约数n=%d最小公倍数=%dn", n, tm*tn/n ); return 0;...
输入两个正整数m和n,求出它们的最大公约数和最小公倍数。 答案 解:#includeint main(){int m,n,t,gcd,gcm;int a,b;scanf("%d%d",&m,&n);t=m%n;a=m;b=n;while(t!=0){m=n;n=t;t=m%n;}gcd=n;gcm=a*b/gcd;printf("%d和%d的最大公约数为:%d,最小公倍数为:%d\n",a,b,gcd...