#include <iostream> #include <cstring> #include <algorithm> using namespace std; int a[60]; int main(){ void fun(); int t; cin>>t; fun(); while(t--){ int n; cin>>n; int c=0; while(n){ for(int i=50;i>=1;i--) //取最大完美三角形,减去后三角形数+1,并且继续进行循环 if(a[i]<=n){ n-=a[i]; c++; break; } } cout<<c<<endl; } } void fun(){ //计算好所有可能的完美三角形情况 a[0]=0; for(int i=1;i<=50;i++) a[i]=a[i-1]+i; }