C语言实现求两个正整数的最大公约数
2018-03-16 15:59
274 查看
/* * 文件名:commonDiviser.c * 功能描述:求两个正整数的最大公约数 * 编辑人:王廷云 * 编辑日期:2017-1-10 */ #include <stdio.h> int main(void) { int a, b; fprintf(stdout, "请输入两个正整数:"); /* 获取并检查用户输入 */ while (1) { if (fscanf(stdin, "%d%d", &a,&b) != 2) { fprintf(stderr, "输入错误!请重新输入:"); while (getc(stdin) != '\n'); // 去除多余的非法字符 continue; } else if (a < 0 || b < 0) { fprintf(stderr, "输入错误!请输入正整数:"); continue; } else break; } /* 求最大公约数 */ int i; if (a < b) // 从两个数中校小的数本身开始逆序查找 { for (i = a; i > 0; i--) { /* 公约数:能够同时整除两个数 */ if ((a % i == 0) && (b % i == 0)) { break; } } fprintf(stdout, "%d 和 %d 的最大公约数为%d\n", a, b, i); } else { for (i = b; i > 0; i--) { /* 公约数:能够同时整除两个数 */ if ((a % i == 0) && (b % i == 0)) { break; } } fprintf(stdout, "%d 和 %d 的最大公约数为%d\n", a, b, i); } return 0; }
相关文章推荐
- C语言计算两个正整数的最大公约数与最大公倍数
- 求两个整数的最大公约数的各种算法(C语言实现)
- 求两个整数的最大公约数的各种算法(C语言实现)
- C语言实现 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- C语言计算两个正整数的最大公约数与最大公倍数
- C语言求两个数中最大公约数
- [c++]求两个正整数的最大公约数
- C#实现用欧几里德算法、连续整数检测算法、公因数算法求两个非负整数的最大公约数
- 求两个正整数的最大公约数 使用c++ class编写
- 7.7.1用穷举法计算两个正整数的最大公约数
- 最大公约数与最小公倍数的C语言实现
- 输入两个正整数a和b,求其最大公约数和最小公倍数。
- 【数学】求两个正整数的最大公约数
- 算法实现求两个整数的最大公约数!
- 求两个正整数的最大公约数
- 求两个正整数的最大公约数
- C++/C经典算法百题--(39-42)年龄几何,三色球问题,两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
- 编写程序,采用辗转相除法求解两个正整数的最大公约数
- C语言 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- 用java实现欧几里得算法求两个数字的最大公约数