题解 | #[NOIP2015]金币#
[NOIP2015]金币
https://www.nowcoder.com/practice/8f71f5670e6a45118d24d13868a2da9e
#include<stdio.h>
int main()
{
//天数n
int n;
scanf("%d",&n);
//金币累加结果sum
int sum=0;
//每i天获得i个金币
int i=1;
while(n!=0)
{
sum=sum+i*i;
//总天数里减去相应的i天
n=n-i;
//下一个i天
i++;
//判断剩余天数是否够接下来的i+1天区间
//够则继续循环直至天数为0
//不够就算接下来i+1区间剩余天数的金币
if(n<i)
{
sum=sum+n*i;
n=0;
}
}
printf("%d\n",sum);
return 0;
}