这个题的关键是求逆元,根据扩展欧几里德算法:
代码如下:#include
#include
using namespace std;
typedef long long LL;
const int mod=9973;
void exgcd(LL a,LL b,LL &x,LL &y)
{
if(b==0)
{
x=1;...
分类:
其他好文 时间:
2015-05-30 18:20:44
阅读次数:
141
课本上关于这一节讲得不是很清楚部分内容参考自:http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html扩展欧几里德算法基本算法:对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 ...
分类:
编程语言 时间:
2015-05-10 15:36:55
阅读次数:
136
10402: C.机器人DescriptionDr. Kong 设计的机器人卡尔非常活泼,既能原地蹦,又能跳远。由于受软硬件设计所限,机器人卡尔只能定点跳远。若机器人站在(X,Y)位置,它可以原地蹦,但只可以在(X,Y),(X,-Y),(-X,Y),(...
分类:
编程语言 时间:
2015-05-06 22:31:30
阅读次数:
174
连接:http://acm.hdu.edu.cn/showproblem.php?pid=1576
Sample Input
2
1000 53
87 123456789
Sample Output
7922
6060题意:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) =...
分类:
编程语言 时间:
2015-04-26 09:20:14
阅读次数:
182
数论题..所有数论对我来说都很恶心..不想再说什么了..------------------------------------------------#includeusing namespace std;void gcd(int a,int b,int &x,int &y) { if(!b) {...
分类:
编程语言 时间:
2015-03-30 16:11:47
阅读次数:
181
枚举a和b。。。耗时0.126 显然这不是最好的方法,最好的方法是至需枚举a,利用扩展欧几里德算法求出线性模方程。求的b;其实我也还没有理解,等学会了再来更新。。
#include
using namespace std;
int T,a[109],b[109];
void solve() {
for(int i=10000;i>=0;--i)
for(int j=...
分类:
其他好文 时间:
2015-03-21 18:44:12
阅读次数:
146
转自网上大牛博客,讲的浅显易懂。原文地址:http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数...
分类:
编程语言 时间:
2015-03-15 00:33:44
阅读次数:
284
测试环境系统:xpsp3调试器:od1.10RSA简单介绍选取两个别人不知道的大素数p,q.公共模n=p*q欧拉值t=(p-1)(q-1)选取公匙(加密匙)e,满足***(e,t)=1.常用为3,65537等.根据扩展欧几里德算法求得:私匙d=e^-1modt.加解密算法:加密:密文c=m^emod...
分类:
其他好文 时间:
2014-11-20 15:12:01
阅读次数:
312
本来数学就不好,看到LRJ的数学专题直接跪了,上网百度了一下才知道扩展欧几里德算法的证明过程。
首先说一下朴素欧几里德算法,就是辗转相除法,很简单。
int gcd(int a,int b){
return b == 0 ? a : gcd(b,a % b);
}
下面主要说一下扩展欧几里得算法。
给出a,b 求 x,y使得 a * x + b * y = gcd(a,b);...
分类:
其他好文 时间:
2014-08-11 12:09:12
阅读次数:
202