原题网址:http://poj.org/problem?id=1067 感觉这个博客讲得很全:http://blog.csdn.net/u014733623/article/details/28272407
//
const long double phi = (
sqrt(
5) +
1) /
2;
int main(){
int n,
m;
while (scanf(
"%d%d",&n,&
m) != EOF){
if (n >
m) std::swap(n,
m);
int l =
0, r =
1e9;
while (l < r){
int mid = (l + r +
1) /
2;
if ((
int)(mid
*phi) > n)
r = mid -
1;
else
l = mid;
}
//
printf(
"l=%d calc=%d\n",l,(
int)(l
*phi));
if (n == (
int)(l
*phi) &&
m == n + l)
printf(
"0\n");
else
printf(
"1\n");
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-15536.html