C语言_辗转相除法求最大公约数
来源:互联网 发布:统计联网直报平台数据 编辑:程序博客网 时间:2024/06/06 01:33
辗转相除法求两个正数的最大公约数
辗转相除法
辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法.
设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用a除b,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用b除r1,得b÷r1=q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r1除r2,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。
代码实现:
int a =0, b = 0;
printf("请输入两个正数:\n");
scanf("%d%d", &a, &b);
while (a % b) {
int temp = a % b;
a = b;
b = temp;
}
printf("最大公约数为:%d\n", b);
解析: a 和 b 两个数,在程序中是不需要比大小的, 由上述代码可以看出,无论谁大谁小,都可以准确地找出较小值
所以,辗转相除法求最大公约数,可以将代码简化如上.
0 0
- C语言_辗转相除法求最大公约数
- C语言 辗转相除法求最大公约数
- 辗转相除法求最大公约数---C语言
- c语言 辗转相除法求最大公约数
- 辗转相除法求最大公约数(C语言)
- C语言--辗转相除法求最大公约数和最小公倍数
- C语言--辗转相除法求最大公约数和最小公倍数
- c语言之辗转相除法求最大公约数
- C语言辗转相除法(欧几里德算法)求最大公约数
- C语言辗转相除法求最大公约数(欧几里得算法)
- C语言第七篇:辗转相除法求最大公约数
- 【c语言】用辗转相除法求最大公约数和最小公倍数
- c语言用辗转相除法实现求最大公约数
- C语言 求两个数的最大公约数 (算法)--辗转相减法、辗转相除法
- 辗转相除法求最大公约数
- 辗转相除法求最大公约数
- 辗转相除法求最大公约数
- 辗转相除法求最大公约数
- COPY innodb存储引擎索引概述
- 为啥要重写equals()和hashcode()方法
- C#中如何操作XML,对XML进行增、删、改节点
- 一道javaBean内省题
- 采购订单邮件发送预警设置
- C语言_辗转相除法求最大公约数
- php字符串学习之substr()
- wcdma手机开机选网到成功的一个信令
- Java集合之Collection
- leetcode 题解 || Implement strStr() 问题 (即 KMP 算法实现)
- Python:使用threading模块实现多线程
- iOS 状态栏隐藏与显示总结
- PHP 模版引擎Smarty介绍
- 深入解析python版SVM源码系列(四)——SMO算法是如何更新的?