十分简单
2026-04-08 16:31:25
发布于:广东
0阅读
0回复
0点赞
思路步骤:
1.准备三个变量:
总金币:记录一共发了多少
当前天数:记录已经算到第几天了
当前每天金币数 n:现在每天发几枚
当前阶段已发天数:这个 n 阶段已经发了几天
2.循环:
只要还没到第 k 天,就继续发金币
每天都加 n 到总金币里
当前阶段发满 n 天后,n 加 1,进入下一阶段
3.直到天数够 k 天,停止,输出总金币。
三、用样例 6 天带你走一遍
k=6
n=1,发 1 天 → 金币 + 1,天数到 1
n=2,发 2 天 → 金币 + 2、+2,天数到 3
n=3,发 3 天 → 金币 + 3、+3、+3,天数到 6
总共:1+2+2+3+3+3 = 14 ✔️
#include <bits/stdc++.h>
using namespace std;
int main(){
int k;
cin >> k;
long long sum = 0,day = 0,n = 1,nday = 0;//总工资,当前天数,当前阶段工资数,当前阶段已发的天数
while (day < k){
sum += n;
day += 1;
nday += 1;
if (nday == n){
n += 1;
nday = 0;
}
}
cout << sum;
return 0;
}
这里空空如也







有帮助,赞一个