您的位置:首页 > 其它

POJ1061 - 青蛙的约会 - 数论

2014-07-27 14:42 281 查看
#include <stdio.h>
int gcd(int a,int b)
{
if(b!=0)
return gcd(b,a%b);
else
return 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;
else
road=(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)
{
printf("%lld\n",(l*i+road)/speed);
break;
}
i++;
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: