P2669 [NOIP2015 普及组] 金币

题目背景

NOIP2015 普及组 T1

题目描述

国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续 nn 天每天收到 nn 枚金币后,骑士会在之后的连续 n+1n+1 天里,每天收到 n+1n+1 枚金币。

请计算在前 kk 天里,骑士一共获得了多少金币。

输入格式

一个正整数 kk,表示发放金币的天数。

输出格式

一个正整数,即骑士收到的金币数。

输入输出样例

输入 #1
6
输出 #1
14
输入 #2
1000
输出 #229820


解题思路

模拟,n,q,c,s n表示天数,q表示还剩多少天,c表示当天获得的金币数,s表示金币和

循环遍历天数,s加上当前天数所得金币数,然后q--,if 天数为0时更新c和q;

复制代码
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
    int n,q,s=0,c;
    cin>>n;
    c=q=1;
    for(int i=1;i<=n;i++){
        s+=c;
        q--;
        if(q==0){
            c++;
            q=c;
        }
    }
    cout<<s;
}
复制代码

 

posted @   夜未央111  阅读(206)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
历史上的今天:
2021-09-16 springcloud微服务部分理解
点击右上角即可分享
微信分享提示