x){n=x;x=y;y=n;}for(i=y;i" />
求最大公约数(循环) |
您所在的位置:网站首页 › 求两个正整数的最大公约数c语言程序是什么 › 求最大公约数(循环) |
用穷举法和迭代法求两个整数的最大公约数
穷举: 一个数一个数试,直到两数同时除尽。 #include int main() { int x, y,i,n; scanf_s("%d%d", &x, &y); if (y > x) { n = x; x = y; y = n; } for (i = y; i >= 1; i--) { if (x % i == 0 && y % i == 0) { printf("%d", i); break; } } return 0; }迭代——遍历法 #include int main() { int x, y,t=1; scanf_s("%d%d", &x, &y); while(t!=0) { t = x % y; x = y; y = t; } printf("%d", x); return 0; }回来补充 默默的,我学到了递归,于是乎,就这样了: int cz(int x,int y) { if(x%y == 0) return y; else return cz(y,x%y); }这样,无比简单的两行代码,,,,,,但是,不太容易想。 没有想到一个好的函数名,大家随意哈。 初学,谅解 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |