题解 | #[NOIP2015]金币#

[NOIP2015]金币

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

这题肯定是要循环解决问题的,我们拿一个值记录已经过去的天数,拿一个值接收一共的天数,每循环加一次我们就判断一次当今的天数和总天数比,我们大循环是当天加的金币,我们小循环是一共加几次金币,每加一次我们天数就+1,直到我们天数大于总天数,就可以停止循环。

#include<stdio.h>
int main()
{
    int data = 0;
    int sum = 1;
    int data2=0;
    int k = 1;
    scanf("%d",&data);
    for(int i = 1;k<data;i++)
    {
        for(int j = 0;j<i;j++)
        {
            if(k>data)
                break;
                sum+=i;
                k++;
        }
    }

    return 0;
}
全部评论
楼主这里sum初始化应该为0吧。这样后面你的sum+=i才成立
点赞 回复 分享
发布于 2022-10-24 21:27 贵州
楼主的代码不能运行???
点赞 回复 分享
发布于 2023-03-10 08:13 广东
date2有什么用?
点赞 回复 分享
发布于 2023-03-28 20:35 重庆
#include <stdio.h> int main() { int tian=0; int sum = 0; int k=1; scanf("%d", &tian); for (int i = 1; k <= tian; i++) { for (int j = 0; j < i; j++) { if(k>tian) break; sum+=i; k++; } } printf("%d", sum); return 0; }</stdio.h>
点赞 回复 分享
发布于 2023-08-30 14:43 广东
楼主不行呀
点赞 回复 分享
发布于 2023-09-10 16:30 广西
int sum=0; for(int i=1;k<=date;i++); 我换成这个样子就能跑出结果了,楼主的思路是正确的
点赞 回复 分享
发布于 03-31 21:36 河南

相关推荐

不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
10
收藏
分享
牛客网
牛客企业服务