题目链接
代码
#include <cstdio>
#include <vector>
#include <queue>
#include <cstring>
#include <cstdio>
#include <vector>
#include <cstdio>
#include <vector>
#include <queue>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
#include <string>
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <stack>
#include <queue>
using namespace std;
#define mod 1e9+7
#define N 100
#define inf 0x3f3f3f3f
typedef long long ll;
ll go(ll n)
{ ll m=-1,l=1,r=n,mid;
while(l<r)
{
mid=((l+r)>>1)+1;
m=(mid+3*mid*mid)/2;
if(m<=n)
l=mid;
else
r=mid-1;
}
return n-(l+3*l*l)/2;
}
int main()
{ ll n,k;
// freopen("E:\\in.txt","r",stdin);
cin>>k;
while(k--)
{
cin>>n;
ll cnt=0;
if(n>1)
{
while(1)
{
n=go(n);
cnt++;
if(n<=1)
break;
}
cout<<cnt<<endl;
}
else
cout<<0<<endl;
}
}