费马小定理是数论中的一个定理:假如a是一个整数,p是一个质数,那么是p的倍数,可以表示为如果a不是p的倍数,这个定理也可以写成这个书写方式更加常用。欧拉定理(也称费马-欧拉定理或欧拉函数定理)是一个关于同余的性质。欧拉定理表明,若为正整数,且互素(即),则即与1在模n下同余;φ(n)为欧拉函数。欧拉...
分类:
其他好文 时间:
2014-08-13 12:48:46
阅读次数:
223
以下是总结自他人博客资料,以及本人自己的学习经验。
【Baby_Step,Gaint_Step定义】
高次同余方程。 BL == N (mod
P)
求解最小的L。由于数据范围很大,暴力不行
这里用到baby_step,giant_step算法。意为先小步,后大步。
令L=i*m+j (m=ceil(sqrt(p-1))),
那么原式化为 B^(i*m)*B^j=...
分类:
其他好文 时间:
2014-08-12 13:48:24
阅读次数:
222
(a+b)%c===(a%c + b%c ) %c#includeusing namespace std;int a[5000]={0,0,1};int main(){ int i,p,k; while(cin>>p>>k){ if(p==0&&k==0) break;for(i=3;iusing ...
分类:
其他好文 时间:
2014-08-12 00:16:13
阅读次数:
189
以前觉得用中国剩余定理来求同余方程组很鸡肋,因为可以用拓展欧几里得算法来构造出一种更加强大(可以处理取模的数(默认为mi)不互质的情况)的算法。今天查了点资料,发现我太天真了。首先讲讲中国剩余定理:即 : x ≡a[i] (mod m[i]) 1= 1,所以很多地方一个数你可以拆成多个不同的素数的积...
分类:
其他好文 时间:
2014-08-09 23:03:19
阅读次数:
254
扩展欧几里得算法及其应用
一、扩展欧几里得算法
扩展欧几里得算法:对于不完全为 0 的非负整数 a,b,若gcd(a,b)表示 a,b 的最大公约数,必然存在整数对x,y ,使得 ax+by = gcd(a,b)。
算法过程:
设 a>b,当 b=0时,gcd(a,b)=a。此时满足ax+by = gcd(a,b)的一组整数解为x=1,y=0;当a*b!=0 时,
设 a*x1+b*...
分类:
其他好文 时间:
2014-08-08 18:14:06
阅读次数:
341
1.求gcd,算法为欧几里德(辗转相除法)2.解一元二次方程,算法为扩展欧几里德3.求素数,算法为埃氏筛法4.快速进行幂运算,算法快速幂(反复平方)5.解线性同余方程,求逆元(基于exgcd)6.其它用来优化模运算的定理,欧拉定理(费马小定理),相应的函数欧拉函数
分类:
其他好文 时间:
2014-08-07 12:49:39
阅读次数:
239
#includeint extended_gcd(int a,int b,int &x,int &y){ int r,t; if(!b) { x = 1; y = 0; return a; } r = extended_gcd(...
分类:
其他好文 时间:
2014-08-06 11:44:11
阅读次数:
268
http://poj.org/problem?id=1465
Multiple
Time Limit: 1000MS
Memory Limit: 32768K
Total Submissions: 6164
Accepted: 1339
Description
a program that, given ...
分类:
其他好文 时间:
2014-08-05 00:47:58
阅读次数:
285
求fibonacci数列前N个数的K次方和。通项公式:F[n]=((1+sqrt(5))/sqrt(5)-(1-sqrt(5))/sqrt(5))/sqrt(5)。有点乱,不过由于可以保证最后的结果是一个整数,所有所有的根号都可以化为整数进行取模和逆元运算。首先解二次同余方程,X^2=n (mod ...
分类:
其他好文 时间:
2014-08-02 15:19:53
阅读次数:
294
求解方程,x^2=n (mod P)。解二次同余方程的步骤:1、首先判断勒让德符号(n,p)是否的等于1,即n^((p-1/2)=1 (mod p)是否成立。不成立显然无解。(略)2、任取0-(p-1)中的一a值,判断w=a*a-n是否是P的二次同余,直到找到一个否定的答案即可。(大约有一半是否定答...
分类:
其他好文 时间:
2014-08-02 15:12:24
阅读次数:
252