原文: 一步一步写算法(之 最大公约数、最小公倍数) 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 求解最小公倍数和最大公约数是我们开始编程的时候经常需要练习的题目。从题面上看,好像我们需要求解的是两个题目,但其实就是一个题目。那就是求最大公...
分类:
编程语言 时间:
2014-12-11 11:43:25
阅读次数:
135
Problem Description 输入两个整数,求他们的最大公约数和最小公倍数。Input两个整数。Output最大公约数和最小公倍数。Sample Input12 9Sample Output3 36HINT可以把求最小公约数和最小公倍数写成函数,方便以后调用。 1 #include 2 ....
分类:
编程语言 时间:
2014-12-09 22:51:43
阅读次数:
315
1.欧几里得递归算法2.欧几里得迭代算法3.连续整数检测算法4.递归算法实验一算法问题求解基础实验名称:算法问题求解基础实验章节:算法设计与分析第一章内容实验内容第一部分 欧几里得算法求最大公约数问题:1. 计算:34931与 75236 的最大公约数: 1 #include 2 3 //1.欧几....
分类:
编程语言 时间:
2014-12-08 22:34:55
阅读次数:
265
我们都知道欧几里得算法是用来快速求两个数的最大公约数的算法,效率较高:2O(logn)。 我们先给出算法的实现: 1 int gcd_1(int a, int b) 2 { 3 if(b==0) return a; 4 return gcd_1(b, a%b); 5 } 6 ...
分类:
其他好文 时间:
2014-12-06 19:27:02
阅读次数:
216
这个辗转相除由于当时不太理解,所以在一次测试的时候有忘了,当时凭着印象算推,算写,花了20分钟大概才写出来额,浪费了赛场上宝贵的20分钟啊,以此当个教训,学过的东西不能只是做过一遍就完事了,要彻底吃透才行,昨天考试考的很差劲,也是这段时间太贪玩的结果吧,感觉题考的很基础,就是写不出来,还是没有真正的...
分类:
其他好文 时间:
2014-12-06 11:16:25
阅读次数:
148
1 #include 2 #include 3 using namespace std; 4 #define N 1010 5 6 //两个数的最大公约数和最小公倍数 7 __int64 Gcd(__int64 a, __int64 b) 8 { 9 if(b==0)10 ...
分类:
其他好文 时间:
2014-12-05 19:05:26
阅读次数:
185
欧几里得算法,即辗转相除法,用于求整数a,b的最大公约数。
欧几里得算法C++实现代码:(无需确定 a,b 大小关系)
long long gcd(long long a,long long b){
return b?gcd(b,a%b):a;
}
扩展欧几里得算法:设a和b不全为0,则存在整数x和y,使得 gcd(a,b) = xa + yb
证明: 假设 a...
分类:
编程语言 时间:
2014-12-02 13:36:53
阅读次数:
193
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1064分析:如果a看到b,则a->b那么:1、如果图中有环,则说明这个环的长度肯定是答案的倍数。所以最大种类数=所有环的长度的gcd,最小种类数=所有环的长度的公约数中>=3的最小数2、如...
分类:
其他好文 时间:
2014-12-02 00:01:43
阅读次数:
279
1 #include 2 using namespace std; 3 //不推荐用goto,当然用它更快 4 //辗转相除法求两数的最大公约数 5 int gcd(long int a,long int b){ 6 int x=ab){12 int r=a%b;//取...
分类:
其他好文 时间:
2014-12-01 20:43:00
阅读次数:
121
描述小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。输入第一行输入一个整数n(0<n<=10000),表示有n组测试数据;随后的n行输入两个整数i,j(0<i,j<=32767)。输出输出每组测试数据的最大公约数和最小公倍数样例输入36 612 1...
分类:
其他好文 时间:
2014-11-29 13:04:46
阅读次数:
156