C1057 - 金币数量

题目描述

国王要给忠诚的骑士支付金币。

在骑士服务的第一天,这位骑士收到一枚金币。

在接下来的两天(服务的第二天和第三天),这位骑士每天收到两枚金币。

在接下来的三天(服务的第四天、第五天和第六天),这位骑士每天收到三枚金币。

在接下来的四天(服务的第七天、第八天、第九天和第十天),这位骑士每天收到四枚金币。

这种支付模式将无限期地继续下去:

在连续N天中每天收到N枚金币后,接着,在接下来的连续N+1天中,骑士将每天收到N+1枚金币,其中N是任意正整数。

输入格式

输入至少包含一行,但不超过21行

输入文件的每一行(除了最后一行)包含一个问题的一个测试用例的数据,每行恰好包含一个整数(范围在1到10000之间),表示天数。

最后一行输入0代表输入结束

输出格式

对于每个测试用例输出一行。每行先给出在输入中给出的天数,后面一个空格,然后是在这些天数中从第一天开始计算总共要支付给骑士的金币总数。

输入输出样例

输入样例 输出样例
10
6
7
11
15
16
100
10000
1000
21
22
0
10 30
6 14
7 18
11 35
15 55
16 61
100 945
10000 942820
1000 29820
21 91
22 98

输入输出样例解释

以输入10作为说明:

第1天,骑士每天获得的金币是:1

第2天,骑士每天获得的金币是:2 第3天,骑士每天获得的金币是:2

第4天,骑士每天获得的金币是:3 第5天,骑士每天获得的金币是:3 第6天,骑士每天获得的金币是:3

第7天,骑士每天获得的金币是:4 第8天,骑士每天获得的金币是:4 第9天,骑士每天获得的金币是:4 第10天,骑士每天获得的金币是:4

那从第1天到第10天,骑士总共获得的金币数是:1 + 2 + 2 + 3 + 3 + 3 + 4 + 4 + 4 + 4 = 30

根据题目要求,先输出原始输入的天数,再输出金币总数,那么该样例输入对应的输出是: 10 30

其他输入样例同理,每个样例输出都是单独占一行的

数据范围与提示

100%的数据:1 <= 输入测试用例数 <= 21,每个测试样例天数在1到10000之间

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1057.in,输出文件名为:C1057.out