| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
大家看看我的代码哪里错了,老师WA,急啊,高手帮忙~~~#include<iostream.h>
int simplify(int s,int t) //寻找 s 和 t 的最大公约数,并返回最大公约数
{
int a, b, r;
if ( t > s)
{
a = t ; b = s ;
}
else
{
a = s ; b = t ;
}
r = b ;
while ( r != 0 )
{
r = a % b ;
a = b ;
b = r ;
}
return a;
}
int result(int a,int b,int c)
{
int r;
r = simplify(a,c);
if(r!=1 && b%r!=0)
return 0;
else
return 1;
}
int main()
{
unsigned long A,B;
unsigned long x,y,m,n,l;
cin>>x>>y>>m>>n>>l;//(x!=y)
if(x==y)
return 0;
if(x>=2000000000)
return 0;
if(y>=2000000000)
return 0;
if(m<=0||m>=2000000000)
return 0;
if(n<=0||n>=2000000000)
return 0;
if(l<=0||l>=2100000000)
return 0;
int a = m-n;
if(a==0)
{ cout<<"impossible"<<endl; }
else
{
if(a>0)
{
A = x;
B = y;
a = a;
}
else
{
A = y;
B = x;
a = -a; // 12 10 3 7 22
}
if(result(a,(A-B),l)==0) //确认是否可以到达
cout<<"impossible"<<endl;
else
{
for(int i=0;;i++)
{
A += a;
if((A-B)%l==0)
break;
}
cout<<i+1<<endl;
}
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator