辗转相除法 求 两个数的 最大公约数 和 最小公倍数
来源:互联网 发布:亿世界系统源码php 编辑:程序博客网 时间:2024/06/06 14:09
问题描述:
给了m和n两个整数(m和n都大于0),采用辗转相除法,求m和n的最大公约数和最小公倍数。
算法:
定义三个辅助变量,i、j 和 a。
将 m 和 n 中较大的赋值给 i,较小的赋值给 j,令 a = i % j
按照以下步骤循环:
(1)、若 a == 0,则 j 为 m 和 n 的最大公约数。
(2)、若 a !=0,则令 i = j, j = a, a = i % j,退回到第(1)步继续执行。
最小公倍数 = (m * n) / 最大公约数
代码编写:
#include <iostream>using namespace std;void f(int m, int n){ if(m > 0 && n > 0){ int i, j, a; if(m >= n){ i = m; j = n; }else{ i = n; j = m; } a = i % j; while(a != 0){ i = j; j = a; a = i % j; } cout<<"最大公约数为:"<<j<<endl; cout<<"最小公倍数为:"<<(m * n) / j<<endl; }}int main(){ int m, n; cout<<"请输入两个整数"<<endl; cin>>m>>n; f(m,n); return 0;}
运行结果:
阅读全文
0 0
- 辗转相除法 求 两个数的 最大公约数 和 最小公倍数
- 用辗转相除法求两个数的最大公约数和最小公倍数(什么是辗转相除法,讲解)(C++语言)
- java写的辗转相除法求两个数的最大公约数和最小公倍数
- 辗转相除法(欧几里德法)求两个数的最大公约数和最小公倍数
- C/C++辗转相除法 --- 求两个数的最大公约数和最小公倍数
- 初学python:辗转相除法求两个数的最大公约数和最小公倍数
- 求最大公约数和最小公倍数数(辗转相除法)
- C语言进阶之路------函数调用之辗转相除法求两个数的最小公倍数和最大公约数
- 辗转相除法求 最大公约数和最小公倍数
- 辗转相除法 求最大公约数和最小公倍数
- 求最大公约数和最小公倍数(辗转相除法)
- 辗转相除法求最大公约数和最小公倍数
- 辗转相除法求最大公约数和最小公倍数
- 用辗转相除法求最大公约数和最小公倍数 并用这求两个分数间的大小
- 辗转相除法求两个数最大公约数
- 利用辗转相除法求两个整数的最大公约数和最小公倍数。
- 辗转相除法求两个正整数的最大公约数和最小公倍数,要求键盘输入正整数。
- 两个数的最大公约数和最小公倍数(利用辗转相除法)
- Tomcat工作原理
- 1003. 我要通过!(20)
- Google Protocol Buffer 的使用和原理
- php 将一个字符串分割为组成它的字符
- MyBatis中通过Mapper接口加载映射文件
- 辗转相除法 求 两个数的 最大公约数 和 最小公倍数
- Mac port 22: Connection refused
- tab的操作
- 解决google人机验证recaptcha
- mysql导入大批量数据出现MySQL server has gone away的解决方法
- java 实现顺序表
- 数据存储
- tomcat安装
- CAFFE之将图片转化为lmdb格式脚本【直接运行版】(内含生成train.txt和test.txt)