三角形(Fibnacci)
传送门
思路:观察可得为最大斐波那契数列前
n
n
n项和。
因为 a a a最大为 2 64 − 1 2^{64}-1 264−1,显然要用 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;
}