专栏文章
P2669 [NOIP2015 普及组] 金币 题解
P2669题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqnn15z
- 此快照首次捕获于
- 2025/12/04 07:45 3 个月前
- 此快照最后确认于
- 2025/12/04 07:45 3 个月前
题意
工资发放规则如下: 天每天收到 枚金币后,骑士会在之后的连续 天里,每天收到 枚金币。
思路
使用 while 循环,用一个变量 计是第几波发工资,如果当前的天数不够 ,则用总天数直接乘以 ,直接将天数清零,如果总天数够 ,加上 的平方,为 天乘以每一天的工资 ,将天数减去 。
代码
CPP#include <bits/stdc++.h>
using namespace std;
int main() {
int a = 0;
int day;
cin >> day;
int m = 1;计本次工资是第几波
while (day != 0) {//天数未满时
if (day < m) {//天数不够时
a = a + day * m;//加上这些天的工资
day = 0;//天数清零,工作做完
} else {//天数够了
day -= m;//天数减去 m
a = a + m * m;//加上这些天的工资
}
m = m + 1;//波数加一
}
cout << a; //输出总工资数
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...