题解 | #[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;
}
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务