最小公倍数和最大公约数的求解
2015-04-29 21:51
204 查看
最大公约数*最小公倍数=a*b;
①辗转相除法(又叫欧几里得算法,是一种求两个正整数的最大公约数的古老有效的算法。)
1.输入两整数a和b。
2.a%b得余数r
3.如果r=0,则b为两数的最大公约数。
4.如果r≠0,则另a=b,b=r,再从第二步执行。
5.直到r=0,此时b为两数的最大公约数。
②更相减损术(我国古代数学专著《九章算术》中介绍的一种求两个最大公约数的算法)
有两整数a和b:
1. 若a>b,则a=a-b
2. 若a
①辗转相除法(又叫欧几里得算法,是一种求两个正整数的最大公约数的古老有效的算法。)
1.输入两整数a和b。
2.a%b得余数r
3.如果r=0,则b为两数的最大公约数。
4.如果r≠0,则另a=b,b=r,再从第二步执行。
5.直到r=0,此时b为两数的最大公约数。
#include<stdio.h> #include<math.h> void main(){ int a,b; scanf("%d %d",&a,&b); int m,n; m=a; n=b; int r=a%b; while(r!=0) { a=b; b=r; r=a%b; } printf("%d和%d的最大公约数为:%d\n",m,n,b); printf("%d和%d的最小公倍数为:%d\n",m,n,m*n/b); }
②更相减损术(我国古代数学专著《九章算术》中介绍的一种求两个最大公约数的算法)
有两整数a和b:
1. 若a>b,则a=a-b
2. 若a
#include<stdio.h> #include<math.h> void main(){ int a,b; scanf("%d %d",&a,&b); int m,n; m=a; n=b; while(a!=b) { if(a>b) a=a-b; else b=b-a; } printf("%d和%d的最大公约数为:%d\n",m,n,a); printf("%d和%d的最小公倍数为:%d\n",m,n,m*n/a); }
相关文章推荐
- C/C++实现奇偶判断、质数判断、求解最大公约数、最小公倍数、最大奇约数等
- 如何求解最大公约数和最小公倍数
- 求解最大公约数和最小公倍数问题
- 最小公倍数和最大公约数求解方法
- C++实现求解最大公约数和最小公倍数
- 欧几里得算法求解最大公约数和最小公倍数
- 最大公约数,最小公倍数求解
- 最大公约数和最小公倍数问题
- 洛谷 1029——最大公约数和最小公倍数问题(简单的数学问题)
- 最大公约数和最小公倍数 递归算法
- 理工大学ACM平台题答案关于C语言 1131 C/C++经典程序训练1---最大公约数与最小公倍数
- //动态函数调用实现下列操作,输入2个数以及操作符计算结果。@ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等
- 最大公约数、最小公倍数
- 最大公约数,最小公倍数
- 最大公约数,最小公倍数
- 最大公约数和最小公倍数问题
- 分数趣题(最大公约数和最小公倍数)
- Java 辗转相除法 求两正整数最大公约数及最小公倍数
- 最大公约数与最小公倍数
- 输入两个正整数m和n,求其最大公约数和最小公倍数