取模: a%b b定是正整数,尽管语言上b<0合法。/b=0出现除0错 (a+b)mod n=((a mod n)+(b mod n)) mod n (a-b)mod n=((a mod n)-(b mod n)+n)mod n //注意减法, a mod n 可能小于 b mod n 结果需加上n ...
分类:
其他好文 时间:
2017-02-13 23:48:29
阅读次数:
367
算法训练 Torry的困惑(基本型) 时间限制:1.0s 内存限制:512.0MB 算法训练 Torry的困惑(基本型) 时间限制:1.0s 内存限制:512.0MB 问题描述 Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100 ...
分类:
其他好文 时间:
2017-02-10 20:44:38
阅读次数:
187
#include<bits/stdc++.h>using namespace std; int exGcd(int a,int b,int &x,int &y) { if(b==0) { x=1; y=0; return a; } int r=exGcd(b,a%b,x,y); int t=x; x ...
分类:
其他好文 时间:
2017-01-19 21:23:37
阅读次数:
189
Lucas定理是用来求 c(n,m) mod p 的值(p为素数) 一般用于求组合数,防止其爆long long Lucas定理:我们令n=sp+q , m=tp+r .(q ,r ≤p) 那么: C(sp+q,tp+r)与C(s,t)*C(q,r)同余 (在编程时你只要继续对 调用Lucas定理即... ...
分类:
其他好文 时间:
2017-01-17 15:21:42
阅读次数:
145
(1)Add Digits 解题思路: 基于同余的数学属性。 数字的根(即题目所要求返回的最终结果)与该数字除以9时的余数相同(并且该余数将始终为单个数字)。 take 438 as an example [Step 1]: [Step 2]: [So we can see]: 代码如下: 1 pu ...
分类:
其他好文 时间:
2016-12-19 11:02:29
阅读次数:
203
【算法】扩展欧几里德算法 【题解】学完扩欧就可以随便水了。。。 转化为不定方程ax-by=1。 因为1且题目保证有解,所以方程有唯一解。 紫书曰:同余方程的一个解其实指的是一个同余等价类。 所以满足x≡x'(mod b)的其他x'也是方程的解。 题目求最小正整数解,因此ans=x%b。 #inclu ...
分类:
其他好文 时间:
2016-12-08 20:44:17
阅读次数:
122
.Net中我们通常使用Random类生成随机数,在一些场景下,我却发现Random生成的随机数并不可靠,在下面的例子中我们通过循环随机生成10个随机数: 测试生成随时基本都是相同的结果: 很显然上面的结果是不靠谱的,为什么会这样呢,因为微软的Random类,发现在C#中生成随机数使用的算法是线性同余 ...
分类:
Web程序 时间:
2016-11-30 03:44:58
阅读次数:
268
欧拉函数φ 欧拉定理是用来阐述素数模下,指数同余的性质。 欧拉定理:对于正整数N,代表小于等于N的与N互质的数的个数,记作φ(N) 例如φ(8)=4,因为与8互质且小于等于8的正整数有4个,它们是:1,3,5,7 欧拉定理还有几个引理,具体如下: ①:如果n为某一个素数p,则φ(p)=p-1; ①很 ...
分类:
其他好文 时间:
2016-11-27 14:20:44
阅读次数:
287
扩展欧几里得 上回刚写完欧几里得,那现在还有一个东西叫拓展欧几里得: 扩展欧几里得法是一个在求解同余方程等问题上的一个很好的方法,其具体功能如下: 在已知(a,b)时,求解一组(p,q)使得p*a+q*b=GCD(a,b) 首先,根据数论中的原理,解一定是存在的。 我们可以设a对于GCD(a,b)的 ...
分类:
编程语言 时间:
2016-11-21 22:40:26
阅读次数:
170