C语言辗转相除法(欧几里德算法)求最大公约数
2015-01-07 18:44
288 查看
算法叙述:
设(a,b)表示a和b的最大公约数
若c为a/b的余数(c=a%b)
则(a,b)=(b,c).
其次,最小公倍数 = a*b / 最大公约数
设(a,b)表示a和b的最大公约数
若c为a/b的余数(c=a%b)
则(a,b)=(b,c).
#include<stdio.h> int gcd(int a,int b) { return b ? gcd(b,a%b) : a; } int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) printf("%d\n",a>b?gcd(a,b):gcd(b,a)); return 0; }
其次,最小公倍数 = a*b / 最大公约数
相关文章推荐
- 【C语言】最大公约数(更相减损法)和(辗转相除法)
- 常见算法:C语言求最小公倍数和最大公约数 辗转相除法
- c语言用辗转相除法实现求最大公约数
- 欧几里德算法(辗转相除法)计算两个整数的最大公约数
- 欧几里德算法(辗转相除法) 求最大公约数
- 欧几里德算法(辗转相除法):求两个整数最大公约数
- C语言 辗转相除法求最大公约数
- c语言经典题算法1--用辗转相除法求两个数的最大公约数
- 辗转相除法求最大公约数---C语言
- 【C语言】编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。(辗转相除法和常规求法)
- C语言进阶之路------函数调用之辗转相除法求两个数的最小公倍数和最大公约数
- 求最大公约数-辗转相除法-欧几里德算法
- C语言第七篇:辗转相除法求最大公约数
- 两个数的最大公约数------欧几里德算法(辗转相除法)
- c语言 辗转相除法求最大公约数
- 欧几里德算法(辗转相除法) 求最大公约数
- C语言 求两个数的最大公约数 (算法)--辗转相减法、辗转相除法
- 求最大公约数:欧几里德算法(即 辗转相除法 )
- C语言之linux内核实现最大公约数算法
- 用c语言实现 计算两个数的最大公约数