这个题比较狗,一开始没有啥思路,但是看完题解觉得还是比较好理解的。主要思路就是需要把每个数是几个数的最大公约数求出来,然后求和就行了。蓝书P124例九 设f(n) = gcd(1,n) + gcd(2,n) + ... + gcd(n - 1, n),则本题主要求f(n),然后一点点递推。满足i为最 ...
分类:
其他好文 时间:
2018-07-04 01:14:06
阅读次数:
138
1、两数求最小公倍数:思路是,两个数,他们分别约去了最大公约数,剩下的两个数应该是互质的,它们的乘积就是这两个数的最小公倍数。 2、求两数的最大公约数,主要的出发思想是基于两数的最大公约数性质出发的: 性质1 如果a>b,则a和b与a-b和b的最大公约数相同,即Gcd(a, b) = Gcd(a-b ...
分类:
编程语言 时间:
2018-07-03 12:04:22
阅读次数:
196
一些相关基本概念:群论、模运算、费马小定理、公约数、最大公约数、互质、逆元。 公约数:如果d是a的约数并且d也是b的约数,则d是a与b的公约数。 最大公约数:两个不同时为0的整数a与b的公约数中最大的数称为最大公约数,记作gcd(a, b)。 gcd函数的基本性质: $$ \begin{align} ...
分类:
其他好文 时间:
2018-07-01 01:08:43
阅读次数:
439
Description Hanks 博士是BT (Bio Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson。现 在,刚刚放学回家的Hankson 正在思考一个有趣的问题。 今天在课堂上,老师讲解了如何求两个正整数$c_1$ 和$c_2$ 的最大公约数和最小公倍数。现 在Hankson ...
分类:
其他好文 时间:
2018-06-30 17:43:32
阅读次数:
205
欧几里德算法又称为辗转相除法,用于计算两个非负整数的最大公因数。结果的正确性源于a与b的最大公约数c也是a%b的公共约数 ...
分类:
编程语言 时间:
2018-06-18 20:24:08
阅读次数:
177
这题做的时候接连想错了好多次……但是回到正轨上之后依然是一个套路题。(不过这题好像有比莫比乌斯反演更好的做法,莫比乌斯反演貌似是某种能过的暴力ヽ(´ー`)┌)不过能过也就行了吧哈哈。 首先我们把数字的范围要进行缩小:最大公约数为 \(K\) 那自然所有选出来的数都必须是 \(K\) 的倍数。所以我们 ...
分类:
其他好文 时间:
2018-06-10 19:35:18
阅读次数:
136
最近刷算法题遇到一个题: 给出一个长度为 n 的数列 { a[1] , a[2] , a[3] , ... , a[n] },以及 m 组询问 ( l[i] , r[i] , k[i])。 求数列下标区间在 [ l[i] , r[i] ] 中有多少数在该区间中的出现次数与 k[i] 互质(最大公约数 ...
分类:
编程语言 时间:
2018-06-09 22:07:34
阅读次数:
205
/** * 本程序用于求解两个正整数的最大公约数 * 求解最大公约数往往可以用的有三种方法: * eg: 求正整数x和y的公约数 * 1. 遍历, 从1遍历到min(x, y)为止, 找到能够同时被两数整除的最大整数 * 2. 辗转相除法, 取k = x/y, b = x % y, 则 x = k ...
分类:
其他好文 时间:
2018-06-06 15:20:36
阅读次数:
209
妈耶有日期显示啊,我还写什么。。。 给出N个正整数,找出N个数两两之间最大公约数的最大值。 例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。 Input 第1行:一个数N,表示输入正整数的数量。(2 <= N <= 50000) 第2 - N ...
分类:
其他好文 时间:
2018-06-06 00:57:30
阅读次数:
118
自己写的一个分数模板,在运算操作时进行了防溢出的优化: 测试代码: ...
分类:
其他好文 时间:
2018-06-05 13:25:53
阅读次数:
147