c语言求最大公约数的代码是多少(C语言求最大公约数的代码)

导读 大家好,乐乐来为大家解答以下的问题,关于c语言求最大公约数的代码是多少,C语言求最大公约数的代码这个很多人还不知道,那么今天让乐乐带着...

大家好,乐乐来为大家解答以下的问题,关于c语言求最大公约数的代码是多少,C语言求最大公约数的代码这个很多人还不知道,那么今天让乐乐带着大家一起来看看吧!

1、你的代码,主要的错误在for循环里的判断条件,应该是a%i!=0&&b%i!=0 不等号;但是。

2、是了很久,发现这样的算法或者说思路也是错误的!因为你这样找到的只是两个数的最小公约数,而非最大公约数的。

3、你可以用原来的想法,i 从 两个数中较小者那个从大到小去循环,从而找到两个数的公约数。

4、也就是(从大到小)倒这来找公约数;或者建议你考虑辗转相除法,辗转相除法的思路是这样的:若 m和n为这连个正整数,有:当m>n,m与n 的最大公约数等于 n 与 m%n的最大公约数当n=0 ,m与 n 的最大公约数等于 m,以下是算法。

5、使用for语句:#include#includeint main(){ int a,b,m,n,r; printf("输入两个正整数(请用逗号隔开):"); scanf("%d%d",&a,&b); if(a>b) { m=a; n=b; } else { m=b; n=a; } for(r=b;r!=0;){  r=m%n;  m=n;  n=r; } printf("%d 和 %d 的最大公约数是:%d",a,b,m); system("PAUSE"); return 0;}。

本文分享到此完毕,希望对您有所帮助。

免责声明:本文由用户上传,如有侵权请联系删除!