Gold Coins
Time Limit: 1000MS Memory Limit: 30000K
Total Submissions: 21155 Accepted: 13265
Description
The king pays his loyal knight in gold coins. On the first day of his service, the knight receives one gold coin. On each of the next two days (the second and third days of service), the knight receives two gold coins. On each of the next three days (the fourth,
fifth, and sixth days of service), the knight receives three gold coins. On each of the next four days (the seventh, eighth, ninth, and tenth days of service), the knight receives four gold coins. This pattern of payments will continue indefinitely: after
receiving N gold coins on each of N consecutive days, the knight will receive N+1 gold coins on each of the next N+1 consecutive days, where N is any positive integer.
Your program will determine the total number of gold coins paid to the knight in any given number of days (starting from Day 1).
Input
Output
Sample Input
Sample Output
10 30 6 14 7 18 11 35 15 55 16 61 100 945 10000 942820 1000 29820 21 91 22 98
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { int T,n; int sum=0;// 在n天内得到的钱; int cnt;//控制每一天钱的多少的次数; int zf;//每天需要支付的钱; while(~scanf("%d",&n)) { if(n==0) break; sum=0; cnt=0; zf=1; for(int i=1;i<=n;i++) { sum+=zf; cnt++; if(cnt==zf) { cnt=0; zf+=1; } } printf("%d %d ",n,sum); } return 0; }