欧几里得辗转相除求最大公约数最小公倍数
来源:互联网 发布:linux su认证失败 编辑:程序博客网 时间:2024/05/19 06:39
最大公约数:
第一种方法:
递归:
int gcd(int m, int n)
{
int temp;
if(m < n)//m less than n change
{
temp = m;
m = n;
n = temp;
}
if(m % n == 0)//eg. 9 3 de gcd is 3 because 9 % 3 == 0
return n;
else
return gcd(n,m%n);//欧几里得辗转相除法求最大公约数 gcd(m,n) == gcd(n,m%n) 递归可得
}
第二种方法:
循环:
int gcd2(int m, int n)
{
int temp, k;
if(m < n)//m less than n change
{
temp = m;
m = n;
n = temp;
}
if(m % n == 0)//eg. 9 3 de gcd is 3 because 9 % 3 == 0
return n;
while(m % n != 0)
{
k = m;//k 存一下m的值
m = n;//新的m 的值 为 n
n = k % n;//n 的值在这个表达式之前没变
if(m%n == 0)
return n;
}
}
最小公倍数:
最小公倍数为两个数之乘除于最大公约数
int gbs(int m, int n)
{
return m*n / gcd(m,n);
}
- 欧几里得辗转相除求最大公约数最小公倍数
- 辗转相除求最大公约数,最小公倍数
- 辗转相除求最大公约数,最小公倍数
- 辗转相除法(欧几里得)求最大公约数和最小公倍数
- 欧几里得求最大公约数算法(辗转相除)
- 求最大公约数和最小公倍数(辗转相除)
- 辗转相除(求最大公约数及最小公倍数)
- gcd (辗转相除) 一般用于求最大公约数 最小公倍数
- 辗转相除求最大公约数
- 辗转相除求最大公约数
- 辗转相除求最大公约数
- 辗转相除求最大公约数
- 最大公约数、最小公倍数(辗转相除)
- 欧几里得算法 --- 辗转相除法求最大公约数
- 辗转相除法求最大公约数/最小公倍数
- 辗转相除法求最大公约数(最小公倍数)
- 辗转相除法求 最大公约数和最小公倍数
- 辗转相除法 求最大公约数和最小公倍数
- Struts---拦截器
- 微商城开发(2)
- 输入与输出
- LIME:一种解释机器学习模型的方法
- git基本操作
- 欧几里得辗转相除求最大公约数最小公倍数
- final和static final之间的区别
- shell学习
- C++实验3—个人所得税计算器
- POJ-3373 (DP)
- Laxcus大数据管理系统2.0(3)- 第一章 基础概述 1.2 产品特点
- Java基础知识
- 九度oj 题目1202:排序 题解
- Error C2662