金币

2023-02-24 08:45:10 浏览数 (1)

Original Link

思想

  • 模拟。
  • 根据题意,设置变量 cntday 分别代表当天能收到的金币数和收到 cnt 金币的天数。
  • 循环枚举第 i 天,每次循环:
    • 若当天 cnt == day 说明金币需要增加 cnt ,且要重置 day = 0
    • 总共收到的金币 sum = cnt
    • 收到 cnt 的天数 day
  • 最后 sum 即为答案。

代码

代码语言:javascript复制
#include <bits/stdc  .h>
using namespace std;

typedef long long LL;

void solve(){
    LL n; cin >> n;
    LL sum = 0, cnt = 0, day = 0;
    for(int i = 1; i <= n; i   ){
        if(cnt == day) cnt   , day = 0;
        sum  = cnt;
        day   ;
    }
    cout << sum << endl;
}

int main(){
    solve();
    return 0;
}

0 人点赞