n^3-(n-1)^3=(n-(n-1))(n^2+n(n-1)+(n-1)^2)=n^2+n(n-1)+(n-1)^2; (n-1)^3-(n-2)^3=(n-1)^2+(n-1)(n-2)+(n-2)^2; 两式相减得: n^3-(n-1)^3-((n-1)^3-(n-2)^3)=6(n-1); ((n-1)^3-(n-2)^3)-((n-2)^3-(n-6)^3)=6(n-2); ... (2^3-1^3)-(1^3-0^3)=6(2-1); 累加: n^3-(n-1)^3-(1^3-0^3)=6(n-1)+6(n-2)+...+6(2-1); 我们设置一个参数m(n)=6(n-1)的累加; 及: n^3-(n-1)^3=6(n-1)+6(n-2)+...+61+1=m(n)+1; (n-1)^3-(n-2)^3=6(n-2)+6(n-3)+...+61+1=m(n-1)+1; ... 1^3-0^3=6*0+1=m(1)+1; 累加: n^3=(m(0)+1)+(m(1)+1)...+(m(n)+1); 所以我们要知道立方根只要一直减去(m(n++)+1); 换成代码:

   int m = 1,num =1;
      do{
          n -=num;
          num += m*6;
          m++;
      }while(n>=num);
    return m-1;
    

其中num为(m(n)+1);