猜糖块

代码

#include<bits/stdc++.h>
using namespace std;

int main()
{
   int n;
   scanf("%d", &n);
   int sum = 0;
   int k = 0;
   for(int i = 1;i <n;i++)
   {
      sum += i*i;
      if(sum <= n) k++;
      else         break;
   }
   printf("%d\n", k);
   return 0;
}

错误代码:

在for循环中先判断,后进行sum的增值。

错误原因:先判断后增值会导致天数多算。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐