求两个正整数的最大公约数是一个很古老且很基本的问题,欧几里得在其著作《几何原本》中给出了高效的解法——辗转相除法,也叫做欧几里得算法。下面我们来看下求最大公约数的一些方法。
方法一
我们先来看欧几里得的辗转相除法。原理很简单,假设用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
[摘要]一个朋友在展BOM的时候有这样的需求,两列字段(数值):A ,B A=用量,B=底数,组成用量=用量/底数。A/B,若能被整除,显示整除的结果,若不能整除显示分数形式A/B(分数形式要是约分后的格式)3/6=1/3。 我的思路:1.SQL取余判断是否能被整除2.撰写两个整形数值的最大公约数,然后分子与分母分别除以最大公约数。其中进行转换化成字符串格式。一、自定义最大公约数函数...
分类:
其他好文 时间:
2014-06-10 07:30:29
阅读次数:
228
快速幂运算在第一次训练时候就已经遇到过,这里不赘述
同余模运算也很简单,这里也不说了,无非是(a+b)%m (a*b)%m 把m弄到里面变成(a%m+b%m)%m (a%m*b%m)%m
今天学的最重要的还是递归二分求等比数列
题目大意是给出A和B,求A^B的约数和
解这个题,首先,对A进行素因子分解得到
(PI(pi^ai))^B
然后我们有约数和公式:
...
分类:
其他好文 时间:
2014-06-08 15:17:06
阅读次数:
257
题目——求两个整数的最大公约数
思路1、穷举算法
public static voidmain(String[] args) throws IOException {
Scannerscanner = new Scanner(System.in);
inta = scanner.nextInt();
intb = scanner.nextInt();
System.out.println(...
分类:
其他好文 时间:
2014-06-07 16:27:13
阅读次数:
253
该教程是F403科技创意室基于RT5350开发板写的openwrt中文教程!该教程还会不断更新!让广大读者,彻底掌握openwrt系统的开发!跟我们一起来学习openwrt吧!物联网的时代!...
分类:
其他好文 时间:
2014-06-07 13:43:23
阅读次数:
537
果然Java还是不靠谱啊,一个NaN把我整了半天~~
题目大意:
有一个正多边形,给出任意三个顶点的坐标,求这个正多边形的最小面积。
解题思路:
首先要知道这三个顶点组成的三角形的外接圆一定是这个正多边形的外接圆。
用过计算出三角形的三边长,可以计算出三角型面积,进而推出外接圆半径。
可以得到三个圆心角,找出最大公约数,那就是最大角度。
就可以计算出多边形面积了~~
...
分类:
其他好文 时间:
2014-06-05 01:10:27
阅读次数:
300
http://poj.org/problem?id=3101这道题就是求所有分子的最小共倍数和分母的最大公约数。 1 import
java.math.BigInteger; 2 import java.util.*; 3 import java.util.Arrays; 4 public
clas...
分类:
其他好文 时间:
2014-06-02 16:48:42
阅读次数:
255
定理如下:
对任意非负整数a和任意正整数b, gcd(a,b) = gcd(b,a mod b)
首先证明 gcd(a,b) | gcd(b,a mod b)
设 gcd(a,b) = d
a mod b = a - b*k (k = a/b 向下取整的整数)
易得 d | a mod b 和 d | b 得出 d | gcd(b,a mod b) (d 为 最大公约数的一个因数)
接...
分类:
其他好文 时间:
2014-05-25 22:57:48
阅读次数:
353
出题:给定一个数字序列,其中每个数字最多出现两次,只有一个数字仅出现了一次,如何快速找出其中仅出现了一次的数字;分析:由于知道一个数字异或操作它本身(X^X=0)都为0,而任何数字异或操作0都为它本身,所以当所有的数字序列都异或操作之后,所有出现两次的数字异或操作之后的结果都为0,则最后剩下的结果就...
分类:
其他好文 时间:
2014-05-25 22:21:55
阅读次数:
411
辗转相除法的目的:求两个树的最大公约数
设两数为a、b(a > b),求它们最大公约数的步骤如下:
设q = a / b,r = a % b, 得a=bq+r(0≤r<b)。
1)若r = 0, 则b是a和b的最大公约数。
2)若r≠0,则继续考虑。可以证明:a 和 b 的最大公约数也是 b 和 r 的最大公约数
那么在第二种情况下公约数的关系就有一个递推传递的关系。
就是 a...
分类:
其他好文 时间:
2014-05-25 11:00:27
阅读次数:
168