TB椰程 TypeBuddy 打字搭子

金币

洛谷·深入浅出 · 代码 · cpp · 难度 3/5 · 共 458 字

按 1,2,2,3,3,3... 发金币,求前 k 天总数

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1380
// 题意:第 1 天 1 枚,之后连续 n 天每天 n 枚,循环递增。求前 k 天金币总数。
// 思路:按天模拟,维护当前金币数 group 与本组内已过天数。
// 复杂度:O(k)。
// 易错点:组满才切换到下一档;直接按天加当前 group 即可。
#include <iostream>
using namespace std;
int main(){
    int k, coins = 0, group = 1, inGroup = 0;
    cin >> k;
    for(int d = 1; d <= k; d++){
        coins += group;
        inGroup++;
        if(inGroup == group){ group++; inGroup = 0; }
    }
    cout << coins << endl;
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK