求一个数的最大公约数的三种思路——解题笔记
编程之美上的题目:求一个数的最大公约数。
这道题目有三种解题思路,总结如下:
思路一:
直接使用辗转相除法,这个不多介绍,代码如下:
// 直接辗转相除法
int gcd1(int a, int b)
{
for(int m = a%b; m != 0; m = a%b)
{...
分类:
其他好文 时间:
2015-02-03 11:09:26
阅读次数:
191
思路:对于每个数分解质因子然后记录每一个质因子的个数,对与在b中出现的质因子就减去1,否则加1,求出总的,然后从后面一次对它们的最大公约数,然后判断除以最大公约数之后,改变量是不是变化,求最大值,变化量为负值的话减去。 1 #include 2 #include 3 #include 4 #i...
分类:
其他好文 时间:
2015-02-02 19:54:59
阅读次数:
183
工作之后我们大部分的时间实在研究如何如何学习一门语言 如何如何掌握一门技术,但是作为编程的本质 数据结构和算法 我们慢慢的忽略了 。
工作后的很多程序员真的没有大学生一样的时间 去静下心来去增加自己的底蕴,这是我深有体会的事情当然我这里指的是和我有累死感觉的人。
学习是一个过程,从简入繁 一贯如此,记录下来只为 记录自己的点点滴滴。
#include "stdafx.h"
#include...
分类:
编程语言 时间:
2015-01-31 14:38:29
阅读次数:
195
题目:又见GCDTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2685 Accepted Submission(s): 1327 Problem Description有三个正整数a,b,c(0 Input第一行输入一个n,表示有n组测试数据,...
分类:
其他好文 时间:
2015-01-30 21:06:37
阅读次数:
248
题目: 最小公倍数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3609 Accepted Submission(s): 2596 Problem Description给定两个正整数,计算这两个数的最小公倍数。 Input输入包...
分类:
其他好文 时间:
2015-01-30 16:02:00
阅读次数:
240
1 #include 2 using namespace std; 3 4 int main() 5 { 6 int a, b, c; 7 cin >> a >> b; 8 while(b != 0) { 9 c = a % b;10 ...
分类:
其他好文 时间:
2015-01-30 15:07:00
阅读次数:
164
hide handkerchiefTime Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5050 Accepted Submission(s): 1676Problem DescriptionThe Children’s Day has passed...
分类:
其他好文 时间:
2015-01-27 14:58:59
阅读次数:
161
最大公约数的两种解法(欧几里得算法和素数分解)
方法一: 欧几里得算法,又称辗转相除法
定理(欧几里得算法):设a和b是正整数,则存在最大求最大公因子d=(a,b)的一种算法,且存在求一组整数s,t使得d = sa+tb
举个例子:求168和60的最大公约数?
168 = 2 * 60 + 48
60 = 1 *...
分类:
编程语言 时间:
2015-01-26 19:21:41
阅读次数:
179
最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接求最小公倍数算法:最小公倍数=两整数的乘积÷最大公约数求最大公约数算法:(1)辗转相除法有两整数a和b:...
分类:
编程语言 时间:
2015-01-24 22:35:18
阅读次数:
113
/*描述小明被一个问题给难住了,现在需要你帮帮忙。问题是:给出两个正整数,求出它们的最大公约数和最小公倍数。输入第一行输入一个整数n(0//最大公约数int gcd(int a,int b){ if (a0) { scanf("%d%d",&a,&b); print...
分类:
其他好文 时间:
2015-01-21 19:45:24
阅读次数:
131