求两个正整数的最大公约数是一个很古老且很基本的问题,欧几里得在其著作《几何原本》中给出了高效的解法——辗转相除法,也叫做欧几里得算法。下面我们来看下求最大公约数的一些方法。
方法一
我们先来看欧几里得的辗转相除法。原理很简单,假设用f(x,y)表示x和y的最大公约数,我们令x>y,则有x=ky+b,如果一个数能够同时整除x和y,则必能同时整除b和y,而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数相同,因此二者的最大公约数也相同,则有f(x,y)=f(y,x%y),一...
分类:
其他好文 时间:
2014-06-20 11:10:03
阅读次数:
191
猜数字游戏是令系统随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次...
分类:
其他好文 时间:
2014-06-20 10:38:48
阅读次数:
196
整数划分问题
时间限制(普通/Java):5000MS/10000MS 运行内存限制:65536KByte
总提交:235 测试通过:158
描述
将一个正整数n表示成一系列正整数之和,n=n1+ n2+…+ nk(其中,n1≥n2≥…≥nk≥1,k≥1).正整数n的这种表示称为正整数n的划分。正整数n的不同的划分个数称为正整数n的划分数,记...
分类:
其他好文 时间:
2014-06-07 13:04:49
阅读次数:
226
约瑟夫(Joseph)问题的一种描述是:编号为1,2,...,
n的n个人按顺时针方向围坐一圈,
每人持有一个密码(正整数)。一开始选任一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将它的密码作为新的m值。试设计一个程序求出出列顺序。测试数据...
分类:
Web程序 时间:
2014-06-06 19:11:54
阅读次数:
382
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入在一行中给出2个正整数A和B。输出格式:在4行中按照格式“A
运算符 B = 结果”顺序输出和、差、积、商。输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 /...
分类:
其他好文 时间:
2014-06-05 14:21:19
阅读次数:
258
DescriptionInput输入数据第一行是图顶点的数量,一个正整数N。
接下来N行,每行N个字符。第i行第j列的1表示顶点i到j有边,0则表示无边。Output输出一行一个整数,表示该图的连通数。Sample
Input3010001100 Sample Output9HINT对于100%的数...
分类:
Web程序 时间:
2014-06-04 17:00:25
阅读次数:
309
本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后2位。题目保证计算结果不超过双精度范围。
输入样例:
20
输出样例:
32.66
#include...
分类:
其他好文 时间:
2014-06-02 15:05:16
阅读次数:
214
Table of Contents1 前言2 递归简介3 利用数学知识深入对递归的认知3.1
“求解最大素数伴侣数量”的实现3.2 进一步改进3.2.1 减少测试的重复性3.2.2 当找到最优解时提前结束4
完整的程序代码前言今天做了一个题目《素数伴侣》,具体如下:输入:偶数个正整数,如,1,2,3...
分类:
其他好文 时间:
2014-06-02 14:59:16
阅读次数:
337
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。
输入格式:
输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。
输出格式:
在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。
输入样例...
分类:
其他好文 时间:
2014-06-02 10:59:05
阅读次数:
364
常用的数字正则(严格匹配)
正则 含义
^[1-9]\d*$ 匹配正整数
^-[1-9]\d*$ 匹配负整数
^-?[1-9]\d*$ 匹配整数
/^(([1-9]\d*)|(0+))$/; 匹配非负整数(正整数 + 0)
^-[1-9]\d*|0$ 匹配非正整数(负整数 + 0)
/^(([1-9]\d*)|0)\.\d+$/ 匹配正浮点数
^-([1-9]\d*\.\d*|0\.\d*[1...
分类:
Web程序 时间:
2014-06-02 05:28:33
阅读次数:
307