(例:入力された数字が9なら、n=3,m=0)
C言語初心者です。
考えてみたのですがうまくいきません。アドバイスお願いします。
#include<stdio.h>
main()
{
int n,x,m1,m2;
int ans,ans1,ans2,ans3,max;
scanf("%d",&x);
for(n=1;n<1000;n++){
if(x>=n*n*n && x<(n+1)*(n+1)*(n+1))
ans1=n*n*n;
if(x>=n*(n+1)*(n+2)/6 && x<(n+1)*(n+2)*(n+3)/6)
ans2=n*(n+1)*(n+2);
}
for(m1=0;m1<1000;m1++){
for(m2=0;m2<1000;m2++){
if(x>=m1*m1*m1+m2*(m2+1)*(m2+2)/6 && x<(m1+1)*(m1+1)*(m1+1)+(m2+1)*(m2+2)*(m2+3)/6)
ans3=m1*m1*m1+m2*(m2+1)*(m2+2)/6;
}}
max=ans1;
if(ans2>max)
max=ans2;
if(ans3>max)
max=ans3;
printf("%d\n",max);
}