POJ

来源:互联网 发布:长沙企业名录数据库 编辑:程序博客网 时间:2024/06/03 21:33

题目地址:POJ - 2000


题目描述:

国王的骑士第一天可以得到一枚金币,接下来的两天,每天都能得到两枚金币,然后接下来的三天,每天都是3枚金币......
到接下来的n天,每天都能得到n枚金币。你能帮他算一下在第n天总共得到过多少枚金币吗?
Input
输入最少包含一行,最多不超过21行。每一行包含一行测试数据n(1<=n<=10000),表示天数。输入0表示结束。
Output
对于每一行输入有对应的一行输出,包括输入的天数n和Stone学长到第n天得到的金币总数量。
Sample Input
106711151610010000100021220
Sample Output
10 306 147 1811 3515 5516 61100 94510000 9428201000 2982021 9122 98
代码:

#include<stdio.h>    int s[10001] ;   int main() {int i, j, h ;      j = 1;      h = 1;      for (i=1; i<=10001 ; i++){          s[i] = j + s[i - 1];  // j的值直接赋予数组 ,即每h项相同         if ( h == j){               j++;  //若完成循环,则进入下次循环             h = 0 ;          }          h++;  //h为对天数的记录     }  int n , d=0 ; while( scanf("%d" , &n ) !=EOF ) {if( !n ) break ;printf("%d %d\n" , n , s[n] ) ;}return 0 ;}


原创粉丝点击