题解 | #[NOIP2015]金币#

[NOIP2015]金币

https://www.nowcoder.com/practice/8f71f5670e6a45118d24d13868a2da9e

#include <stdio.h>
// 从第一天开始,一个1个金币给一天,两个金币给两天,三个金币给三天....
// 用一个变量day记录天数,day从第0天开始,用一个coin变量记录金币的数量,coin从1开始,用一个变量sum记录所得金 // 币总数
// 每循环一次代表1天,执行sum += coin,day++,判断day是否等于coin,如果day等于coin,则coin个金币给了day
// 天,就重置day等于0; coin++
// 第一次循环之后day等于coin,coin++变成2,day = 0,day重新记录,sum+=1,此sum时为1,
// 之后循环两次,sum = 1 + 2 + 2,day 等于 2 等于 coin,coin++变成3,day又重新得0,以此类推...
int main() {
    int k = 0;
    scanf("%d",&k);
    int day = 0;
    int coin = 1;
    int sum = 0;
    for (int i = 1; i <= k; i++)
    {
        if (day == coin)
        {
            coin++;
            day = 0;
        }

        sum += coin;
        day++;
    }
    printf("%d\n",sum);
    return 0;
}

全部评论

相关推荐

11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务