快速幂POJ 1061

来源:互联网 发布:python 人工智能 开发 编辑:程序博客网 时间:2024/06/04 17:54
#include <stdio.h>int gcd(int a,int b)                  //找最小公约数{if(b!=0)return gcd(b,a%b);elsereturn a;}int main(){long long x,y,m,n,l;long long road,speed;while(scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l)!=-1){speed=m<n?n-m:m-n;if(m>n)road=(l+y-x)%l;elseroad=(l+x-y)%l;if(m==n||road%gcd(speed,l))                 //去掉无法追上的情况{printf("Impossible\n");continue;}long long i=0;while(1)                      {if((l*i+road)%speed==0)              //i表示绕地球跑的圈数{printf("%lld\n",(l*i+road)/speed);break;}i++;}}return 0;}
0 0