码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-05 13:12:48      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:open   font   str   pen   names   log   using   数论   代码   

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数论

标签:open   font   str   pen   names   log   using   数论   代码   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!