poj1061青蛙那啥,第一次弄欧几里德,各种问题各种请教

来源:互联网 发布:啥软件机票便宜 编辑:程序博客网 时间:2024/06/07 05:33
#include<stdio.h>__int64 e_gcd(__int64 a,__int64 b,__int64 &x,__int64 &y)  {      if(b==0)      {          x=1;          y=0;          return a;      }      __int64 ans=e_gcd(b,a%b,x,y);      __int64 temp=x;      x=y;      y=temp-a/b*y;      return ans;  }    __int64 cal(__int64 a,__int64 b,__int64 c)  {      __int64 x,y;      __int64 min=e_gcd(a,b,x,y);      if(c%min!=0) return -1;      x*=c/min;      b/=min;      if(b<0) b=-b;      __int64 ans=x%b;      if(ans<=0) ans+=b;      return ans;  }int main()  {      __int64 x,y,m,n,L;      while(scanf("%I64d%I64d%I64d%I64d%I64d",&x,&y,&m,&n,&L)!=0)      {        __int64 ans=cal(m-n,L,y-x);          if(ans==-1) printf("Impossible\n");          else printf("%I64d\n",ans);      }      return 0;  } 

0 0
原创粉丝点击