题意:
给n个数,求它们的最小公倍数。
分析:
lcm(a,b)==a*b/gcd(a,b);
代码:
//poj 3970
//sep9
#include
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b)
{
return a%b==0?b:gcd(b,a%b);
}
int main()
{
int n;
...
分类:
其他好文 时间:
2015-04-04 00:01:43
阅读次数:
500
问题:
求两个数的最小公倍数
#include
#include
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int m, n, b;
i...
分类:
其他好文 时间:
2015-04-01 00:29:41
阅读次数:
180
Problem Description
我知道部分同学最近在看中国剩余定理,就这个定理本身,还是比较简单的:
假设m1,m2,…,mk两两互素,则下面同余方程组:
x≡a1(mod m1)
x≡a2(mod m2)
…
x≡ak(mod mk)
在0<=<m1m2…mk内有唯一解。
记Mi=M/mi(1<=i<=k),因为(Mi,mi)=1,故有二个整数pi,qi满足Mipi+miqi=1,如果记ei=Mi/pi,那么会有:
ei≡0(mod mj),j!=i
ei≡1(mod mj),j=i
很显然,e1...
分类:
其他好文 时间:
2015-03-31 22:30:39
阅读次数:
155
问题描述
已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。
输入格式
输入一个正整数N。
输出格式
输出一个整数,表示你找到的最小公倍数。
样例输入
9
样例输出
504
数据规模与约定
1
规律题:
#include
#include
using namespace std;
int main()
{...
分类:
其他好文 时间:
2015-03-29 15:09:42
阅读次数:
194
一般来说求两个数最大公约数,我们最先想到的是先找到两个数中较小的数,
然后从较小的数开始递减暴力搜索,如果能同时被两个数整除,那么这个数就是最大公约数,不能则继续递减。
但是当两个数很大的时候,这个算法的效率就变得很差,这时我们就需要一个高效算法。
这里我们利用的是中国古代的辗转相除法,关于辗转相除法的思想可以自行百度,我在这里直接贴代码
#include
int gcd(int a, i...
分类:
编程语言 时间:
2015-03-29 12:19:26
阅读次数:
123
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:...
分类:
编程语言 时间:
2015-03-29 12:10:46
阅读次数:
196
欧几里得算法欧几里得算法也叫辗转相除法,是求两个整数最大公约数的算法。当然也可以求最小公倍数。算法实现其实算法的实现原理就是,有整数a b两个,每次求的一个数字r = a % b,然后把b放到a的位置,把r放到b的位置,递归调用。就是gcd(a, b) { return gcd(b, a%b); }这个样子的。结束条件是当 a%b == 0的时候停止。最大公约数//
// main.cpp
//...
分类:
编程语言 时间:
2015-03-28 01:13:58
阅读次数:
243
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:...
分类:
编程语言 时间:
2015-03-21 11:13:44
阅读次数:
149
一、描述
1、将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,输出之前的所有因子。
(2)如果n!=k,但n能被k整除,则应打印出k的值,并用n除以k的商作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为...
分类:
编程语言 时间:
2015-03-19 18:23:36
阅读次数:
194
题目大意:
题目前边的描述是多余的。。。一个正整N除以M1余M1-a,除以M2余M2-a,除以M3余M3-a,
即除以Mi余Mi-a(a < Mi < 100),求满足条件的最小的数。
思路:
这是一道中国剩余定理的基础题。由题目得出N % Mi + a = Mi,即得:N + a = 0(mod Mi)。也
就是所有的Mi都能整除N+a。那么题目就变为了求N个Mi的最小公倍数,最后再减去a。...
分类:
其他好文 时间:
2015-03-19 16:30:05
阅读次数:
128