a[] = {1,2,3,4...n} n与a[i]的最大公约数,必定属于n的因子,所以遍历n的因子。 对于n的一个因子k,我们求出k作为最大公约数出现的次数m 如何求出m呢: gcd(n,a[i])==k => gcd(n/k,a[i]/k)==1 这相当与求:小于n/k,且与n/k互质的数的个数 ...
分类:
其他好文 时间:
2018-02-03 16:56:00
阅读次数:
155
gcd就是求a和b最大公约数,一般方法就是递推。不多说,上代码。 一.迭代法 二.递归法 但exgcd是个什么玩意??? 百度了一下,百科这么讲的: 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然 存在整数对 x,y ,使得 gcd(a,b)=ax+by。 好 ...
分类:
其他好文 时间:
2018-02-02 22:04:06
阅读次数:
252
扩展欧几里得算法 用途 当我们已知$a,b$ 扩展欧几里得算法可以求出满足$a*x+b*y=GCD(a,b)$的$(x,y)$解集 $GCD(a,b)$表示$a,b$的最大公约数 前导知识 $GCD(a,b)=GCD(b,a\%b)$ $GCD(a,0)=0$ $a\%b=a-a/b*b$ 推导过程 ...
分类:
编程语言 时间:
2018-02-02 20:17:51
阅读次数:
154
求最大公约数采用辗转相除法 求最小公倍数 = 最大公约数 * (A/最大公约数)*(B/最大公约数) ...
分类:
其他好文 时间:
2018-02-01 00:06:35
阅读次数:
244
1、递归的条件: 1、有调用函数自身 2、设置正确的返回条件 2、斐波那契数列的实现 3、pow()函数的递归实现 4、递归方式求最大公约数 5、汉诺塔 6、十进制转二进制递归实现 7、回文联递归实现 ...
分类:
编程语言 时间:
2018-01-28 19:09:38
阅读次数:
201
1、编写power(x,y)函数返回x的y次幂值 2、求最大公约数 3、十进制到二进制转换 ...
分类:
编程语言 时间:
2018-01-25 23:10:24
阅读次数:
206
倘若存在 1,那么答案是 $n cnt_1$。 否则,设最短的公约数为 1 的区间长度为 $minlen$,答案是 $minlen 1+n 1$。 cpp include include using namespace std; int n, ans, gcd[2005][2005], cnt; i ...
分类:
其他好文 时间:
2018-01-21 23:55:26
阅读次数:
212
【问题描述】 用递归方法求两个数m和n的最大公约数。(m>0,n>0) 【大水题,大佬快绕】用辗转相除法求,递归实现。 输入:28 8 输出:gcd = 4 ...
分类:
其他好文 时间:
2018-01-21 22:36:37
阅读次数:
191
2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 Input 第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、 ...
分类:
其他好文 时间:
2018-01-21 17:34:34
阅读次数:
133
每读一个数就把它所有因数上加1,开一个1e6的数组统计,答案就是最大的统计个数大于等于2的数 ...
分类:
其他好文 时间:
2018-01-21 11:01:53
阅读次数:
113