《C和指针》第7章第2道编程题:两个整型值M和N(M、N均大于0)的最大公约数可以按照下面的方法计算:请编写一个名叫gcd的函数,它接受两个整型参数,并返回这两个数的最大公约数。如果这两个参数中的任何一个不大于零,函数返回零。 1 /* 2 ** 求两个整数的最大公约数 3 */ 4 5 #inc....
分类:
其他好文 时间:
2014-11-24 22:24:19
阅读次数:
281
最大公约数1. 用最基本的循环遍历的方法2. 用辗转相除法3. 用辗转相减法See also: http://baike.baidu.com/view/47637.htm 1 #include 2 using namespace std; 3 4 int CommonDivisor( int x,....
分类:
编程语言 时间:
2014-11-20 15:12:23
阅读次数:
205
本文将给出求两个数a和b的最大公约数的几种可行方法。 方法一:辗转相除法 算法分析:有两个数a和b,用辗转相除法。 不妨设a>b, 首先求a和b的余数,b赋值给a,余数赋值给b; 重复以上操作,直到余数为0; b值即为两数的最大公约数。代码: 1 int zdgys(int a,int b) 2 ....
分类:
其他好文 时间:
2014-11-19 21:46:38
阅读次数:
239
最大公约数:d = gcd(a,b)
裴蜀定理:存在u,v使得a*u + b*v = d
裴蜀定理特例:若a,b互质,gcd(a,b) = 1则存在u,v 使得a*u + b*v = 1
设 a = pd, b = qd, 则p,q互质(为什么?)
裴蜀定理 pdu + qdv = d ->pu + qv = 1
证明:
直接构造出u,v
au + bv...
分类:
其他好文 时间:
2014-11-19 11:28:05
阅读次数:
365
最大公约数:d = gcd(a,b)
裴蜀定理:存在u,v使得a*u + b*v = d
裴蜀定理特例:若a,b互质,gcd(a,b) = 1则存在u,v 使得a*u + b*v = 1
设 a = pd, b = qd, 则p,q互质(为什么?)
裴蜀定理 pdu + qdv = d ->pu + qv = 1
证明:
直接构造出u,v
au + bv...
分类:
其他好文 时间:
2014-11-19 01:29:26
阅读次数:
178
#includeint main(){ int a,b,r; scanf("%d%d",&a,&b); r=a%b; while(r!=0) { a=b; b=r; r=a%b; } printf("%d",b); return 0;}
分类:
编程语言 时间:
2014-11-17 19:11:14
阅读次数:
235
题意:求1-b和1-d之内各选一个数组成数对,问最大公约数为k的数对有多少个,数对是有序的。(b,d,k
解法1: 这个可以简化成1-b/k 和1-d/k 的互质有序数对的个数。假设b=b/k,d=d/k,b1-tool中含有rem位置之后的i的质因子的数的个数。
在
for(int j=rem;jfactor[i][0];j++)
ans+=tool/factor[i]...
分类:
其他好文 时间:
2014-11-16 23:09:52
阅读次数:
480
求两个很大的数的最大公约数问题。解法一:辗转相除法,但当数很大时,取模运算很耗时间。解法二:利用f(x,y) = f(x-y, y)可以避免取模,但是当第一个数很大,而第二个数很小如1时,也比较耗时。解法三:对于y和x来说,如果y=k*y1, x= k*x1,那么f(y,x)=k*f(y1,x1)。...
分类:
其他好文 时间:
2014-11-16 23:03:37
阅读次数:
219
运行及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:d.cpp
*作 者:张旺华
*完成日期:2014年11月16日
*版 本 号:v1.0
*
*问题描述:求多组整数最大公约数
*输入描述:每次输入两个整数或以N结束
*程序输出:输入两整数最大公约数
*/
#include...
分类:
其他好文 时间:
2014-11-16 14:45:15
阅读次数:
162