求最大公约数和最小公倍数的常用解法
来源:互联网 发布:mac os 10.12.6怎么样 编辑:程序博客网 时间:2024/05/22 12:40
对于m,n两数求最大公约数的算法:
(1)辗转相除法
1.c=m%n。
2.若c=0,则n就是两数的最大公约数。
3.若c!=0,则m=n,n=c然后重新执行1。
代码实现过程如下:
#include<stdio.h>int sove(int x,int y){return x%y==0?y:sove(y,x%y);}int main(){int m,n,c;scanf("%d %d",&m,&n);int w=sove(m,n);printf("%d\n",w);return 0;}(2)相减法
1.若m>n,则m=m-n。
2.若m<n,则n=n-m。
3.若m=n,则m或n就是最大公因数。
4.若在m!=n的情况下回去执行1。
代码实现过程如下:
#include<stdio.h>int sove(int x,int y){int answer;while(x!=y){if(x>y)x=x-y;elsey=y-x;}answer=x;return answer;}int main(){int m,n,c;scanf("%d %d",&m,&n);int w=sove(m,n);printf("%d\n",w);return 0;}(3)穷举法
1.找出m,n中较小的数。
2.i从m,n中较小的一个数开始到1进行循环如果m,n两数均能整除i则i即为最大公因数。
代码实现过程如下:
#include<stdio.h>int sove(int x,int y){int answer;if(x>y){int t=x;x=y;y=t;}for(int i=x;i>=1;i--){if(x%i==0&&y%i==0){answer=i;break;}}return answer;}int main(){int m,n,c;scanf("%d %d",&m,&n);int w=sove(m,n);printf("%d\n",w);return 0;}
对于m,n两数求最小公倍数的算法
最小公倍数=m*n/最大公因数
阅读全文
1 0
- 求最大公约数和最小公倍数的常用解法
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最小公倍数和最大公约数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数
- Could not write to output file 'c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Fi
- 深入理解javascript原型链
- Java项目批处理实现方式(Demo)
- 防火墙-模式
- A
- 求最大公约数和最小公倍数的常用解法
- jar与zip有什么区别?
- GoogLeNet网络结构学习
- windows ping 虚拟机linux系统出现请求超时
- CDocTemplate::GetDocString
- STM32实验1:定时器中断同时产生两路不同频率的信号
- 数据库的视图与索引——自学篇
- Android开源项目LoopViewPage使用
- sql server 2012导出mdb文件或者.accdb文件扩展名