?? 2645(2).cpp
字號:
#include <stdio.h>
#include <iostream>
int main()
{
__int64 a,b,tmp;
int f,st,ed,mid,i;
while(scanf("%I64d%I64d",&a,&b)&&(a||b))
{
if(a==b)
{
printf("2 0\n");
continue;
}
else if(a==0)
{
printf("0 2\n");
continue;
}
f=0;
for(i=2;i<=50000;i++)
{
st=1,ed=i-1;
while(st<=ed)
{
mid=(st+ed)/2;
tmp=(b-a)*mid*mid-a*(i-mid)*(i-mid)-2*a*mid*(i-mid)+a*(i-mid)-(b-a)*mid;
if(tmp>0) ed=mid-1;
else if(tmp<0) st=mid+1;
else
{
f=1;
printf("%d %d\n",mid,i-mid);
break;
}
if(f) break;
}
if(f) break;
}
if(!f) printf("impossible\n");
}
system("pause");
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -