首页 > 其他 > 详细

JZYZOJ1371 青蛙的约会 扩展欧几里得 GTMD数论

时间:2017-11-05 12:43:34      阅读:225      评论:0      收藏:0      [点我收藏+]

http://172.20.6.3/Problem_Show.asp?id=1371

http://www.cnblogs.com/jackge/archive/2013/04/22/3034925.html详细的题解,大概是网上能看到的最简单易懂的扩展欧几里得讲解了
 
代码
技术分享
 1 #include<iostream>  
 2 #include<cstdio>  
 3 #include<cstring>  
 4 #include<algorithm>  
 5 #include<cmath>
 6 using namespace std;
 7 const int maxn=100010;
 8 void exgcd(int a,int b,long long &x,long long &y){
 9     if(!b){
10         x=1;y=0;
11         return;
12     }
13     exgcd(b,a%b,x,y);
14     long long w=x;x=y;
15     y=w-y*(a/b);
16 }
17 long long gcd(long long x,long long y){
18     while(y){
19         int w=y;y=x%y;x=w;
20     }
21     return x;
22 }
23 int main(){
24     long long x,y,m,n,l;
25     scanf("%I64d%I64d%I64d%I64d%I64d",&x,&y,&m,&n,&l);
26     long long t,z=x-y,zz=n-m,k,d=gcd(n-m,l);
27     if(z%d) printf("Impossible\n");
28     else{
29         z/=d;
30         exgcd(zz/d,l/d,t,k);
31         t=z*t-z*t/l*l;
32         if(t<0)t+=l;
33         printf("%I64d\n",t);
34     }
35     return 0;
36 }
View Code

 

JZYZOJ1371 青蛙的约会 扩展欧几里得 GTMD数论

原文:http://www.cnblogs.com/137shoebills/p/7787061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!