三角形(Fibnacci)

传送门
思路:观察可得为最大斐波那契数列前 n n n项和。

因为 a a a最大为 2 64 − 1 2^{64}-1 2641,显然要用 l l u llu llu。然后不断减就 o k ok ok了 ,貌似第 93 93 93项爆 l l u llu llu了。

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const int N=1e5+5;
#define mst(a) memset(a,0,sizeof a)
ll a[93]={0,1,1};
int main(){
	int t;
    for(int i=3;i<=92;i++) a[i]=a[i-1]+a[i-2];
	scanf("%d",&t);
    while(t--){
        ll x;
        scanf("%llu",&x);
        int ans=0;
        for(int i=1;a[i]<=x;i++)
            x-=a[i],ans++;
        printf("%d\n",ans);
    }
	return 0;
}