看了这篇。。 http://blog.csdn.net/queuelovestack/article/details/52503162 直接就是从小到大,那么每次按最大的递增顺序上去,就是了。 因为每次只能取那么大,符合三角形三边关系,也不会避免每次拿小了。
#include <bits/stdc++.h>
using namespace std;
typedef __int64 LL;
const int N=
3;
int s[N];
int main()
{
int x,y,i;
scanf(
"%d%d",&x,&y);
s[
0]=s[
1]=s[
2]=y;
for(i=
0;s[
0]<x||s[
1]<x||s[
2]<x;i++)
s[i%
3]=s[(i+
1)%
3]+s[(i+
2)%
3]-
1;
printf(
"%d\n",i);
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1122801.html