描述
国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币;之后两天(第2天和第3天)里,每天收到两枚金币;之后三天(第4、5、6天)里,每天收到三枚金币;之后四天(第7、8、9、10天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续n天每天收到n枚金币后,骑士会在之后的连续n+1天里,每天收到n+1枚金币(n为任意正整数)。你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币
输入
一个整数(范围1到10000),表示天数。
输出
骑士获得的金币数。
输入样例 1
6
输出样例 1
14
输入样例 2
1000
输出样例 2
29820
这道题要用到一个巧妙的双重循环。内循环的循环条件是j<=i,这样就可以达到题目所描述的效果。
代码:
1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 int main() 5 { 6 int s=0,n,t=0; 7 cin>>n; 8 for(int i=1;;i++) 9 { 10 for(int j=1;j<=i;j++) 11 { 12 s+=i; 13 t++; 14 if(t==n) 15 { 16 cout<<s; 17 return 0; 18 } 19 } 20 } 21 }
已经有好几天没有更新了,最近博主也是开学了,以后更新就没有那么快更了。
开学之后就只有周末或者放假才会有时间更,以后我尽力做到一星期一更新。
最后感谢一下那些经常来我博客看的人,是你们让我有了写下去的动力。如果有什么意见的话可以在留言区留言或私信我。