最大公约数和最小公倍数
[cpp]
//辗转相除法求最大公约数
int gcd(int m,int n)
{
int tem;
if(m<n){tem=m;m=n;n=tem;}
while(n!=0){
tem=m%n;
m=n;
n=tem;
}
return m;
}
//辗转相减法求最大公约数
int gcd(int m,int n)
{
int tem;
while(n!=0){
if(m<n){tem=m;m=n;n=tem;}
tem=m-n;
m=n;
n=tem;
}
return m;
}
//最小共倍数等于m*n/最大公约数,所以求出了最大公约数就能很快得出最小公倍数啦
int lcm(int m,int n)
{
return m*n/gcd(m,n);
}
摘自 菜鸟的高手情节
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
C++学习心得
我是一个转专业到计算机行业的,系统学习C++大概有两年了,其中走了很多弯路,也陷入很多次迷茫,最近有一些新的感受...
[阅读全文]
-
-
单调队列模板【附例题】
其实单调队列就是一种队列内的元素有单调性的队列,因为其单调性所以经常会被用来维护区间最值或者降低DP的维数已达到降维来减少空间及时间的目的。 每一个答案...
[阅读全文]
-
P1358 扑克牌
题目描述 组合数学是数学的重要组成部分,是一门研究离散对象的科学,它主要研究满足一定条件的组态(也称组合模型)的存在、计数以及构造等方面的问题。组合数学...
[阅读全文]
-
C 实战练习题目9
题目:要求输出国际象棋棋盘。 程序分析:国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用i控制行,j来控制列,根据i+j的和的变化来控制输出黑...
[阅读全文]
-
-
-
前缀和
[toc] "前缀和" 一维前缀和 Skips 快速计算一个区间内数的和 [l,r] 定义一个数组 ,下标要从1 开始 ,边界值 定义 s[0]=0 (...
[阅读全文]
网友评论