[NOIP2015 普及组] 金币
[NOIP2015 普及组] 金币
题目背景
NOIP2015 普及组 T1
题目描述
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续 \(n\) 天每天收到 \(n\) 枚金币后,骑士会在之后的连续 \(n+1\) 天里,每天收到 \(n+1\) 枚金币。
请计算在前 \(k\) 天里,骑士一共获得了多少金币。
输入格式
一个正整数 \(k\),表示发放金币的天数。
输出格式
一个正整数,即骑士收到的金币数。
样例 #1
样例输入 #1
6
样例输出 #1
14
样例 #2
样例输入 #2
1000
样例输出 #2
29820
提示
【样例 1 说明】
骑士第一天收到一枚金币;第二天和第三天,每天收到两枚金币;第四、五、六天,每天收到三枚金币。因此一共收到 \(1+2+2+3+3+3=14\) 枚金币。
对于 \(100\%\) 的数据,\(1\le k\le 10^4\)。
无所谓,在水一次题解(bushi
Code
#include <bits/stdc++.h>
using namespace std;
int main()
{
int sum=0,k;
cin >> k;
int t=0;
for(int i=1;i<=k;i++)
{
for(int j=1;j<=i;j++)
{
sum+=i;
t++;
if(t==k)
{
cout << sum;
return 0;
}
}
}
return 0;
}
本文来自小默的博客,转载请注明原文链接:https://www.cnblogs.com/momotrace/p/p2669.html