嗯,这是一道被水冲洗过而特别鲜艳的红题。

这道题究竟什么思路???我也不知道

话不多说,上代码!

#include<iostream>
using namespace std;
int n,s=1,t=2,g;//n为立方体的个数,s用来统计每一层所需要的立方体个数,(s+t)即为下一层所需的个数
int main()
{
    cin>>n;
    while(n>=s)//while循环,如果剩下的立方体个数仍可以搭下一层,就执行
    {
        g++,n-=s,s+=t,t++;//层数累加,立方体个数减去s,s变为下一层的所需个数
    }
    cout<<g;//输出

    return 0;//完美结束
}

最后,我要告诫你们一句话:

请勿CTRL+C!