你这个函数功能就是判断数是不是这两个数的公约数,不是找最大公约数。而且循环太多了 for (int i = 1; i <= a/2 && i <= b/2; i++) //从1还是,最大到小的哪个数的一半即可
你程序有一个最大的问题,就是除0错了,for(i=0;....) { ...a%i...明显的除0错了另外。你的算法也完全不对,给你个正确求公约数的参考(函数)int GetDivisor( int m, int n) //辗转相除法求m/n的公约数{int r; while (n) { r=m % n; m=n; n=r; }return m;}
65,194
社区成员
250,524
社区内容
加载中
试试用AI创作助手写篇文章吧