x){n=x;x=y;y=n;}for(i=y;i" />

求最大公约数(循环)

您所在的位置:网站首页 求两个正整数的最大公约数c语言程序是什么 求最大公约数(循环)

求最大公约数(循环)

2024-07-12 07:20| 来源: 网络整理| 查看: 265

用穷举法和迭代法求两个整数的最大公约数

穷举: 一个数一个数试,直到两数同时除尽。

#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