本文共 1116 字,大约阅读时间需要 3 分钟。
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1N+1N+1天里,每天收到N+1N+1N+1枚金币。
请计算在前KKK天里,骑士一共获得了多少金币。
一个正整数KKK,表示发放金币的天数。
一个正整数,即骑士收到的金币数。
输入 #1
6
输出 #1
14
输入 #2
1000
输出 #2
29820
【输入输出样例 1 说明】
骑士第一天收到一枚金币;第二天和第三天,每天收到两枚金币;第四、五、六天,每天收到三枚金币。因此一共收到 1+2+2+3+3+3=141+2+2+3+3+3=141+2+2+3+3+3=14 枚金币。
对于 100%100%100%的数据,1≤K≤10,000 1 ≤ K ≤ 10,0001≤K≤10,000。
#includeusing namespace std;int main(){ int k,sum=0,x=0; cin>>k; for(int i=1;;i++) { for(int j=1;j<=i;++j) { sum+=i; x++; if(x>=k) { cout<
#includeusing namespace std;int main(){ int k,sum,x; cin>>k; for(int i=1;;i++) { for(int j=1;j<=i;++j) { sum+=i; x++; if(x>k) { cout<
这个代码虽然运行结果是正确的,但是我忽略了一个细节点:变量没有初始化,变量放main函数外自动赋值为0,但在main函数内谁也不知道初始值是什么。所以将变量sum=0,x=0后,我发现我的结果是错误的。
转载地址:http://eysh.baihongyu.com/