金币

题目
【题目描述】
国王将金币作为工资,发放给忠诚的骑士。第\(1\)天,骑士收到一枚金币;之后两天(第\(2\)天和第\(3\)天)里,每天收到两枚金币;之后三天(第\(4\)\(5\)\(6\)天)里,每天收到三枚金币;之后四天(第\(7\)\(8\)\(9\)\(10\)天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续n天每天收到\(n\)枚金币后,骑士会在之后的连续\(n+1\)天里,每天收到\(n+1\)枚金币(\(n\)为任意正整数)。
你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。
【输入】
一个整数(范围\(1\)\(10000\)),表示天数。
【输出】
骑士获得的金币数。
【输入样例】
6
【输出样例】
14

思路
\(while\)循环模拟。

代码

var
 n,t,i,s:longint;
begin
 readln(n);
 i:=1;
 while t+i<n do
  begin
   s:=s+i*i;
   t:=t+i;
   i:=i+1;
  end;
 if n>t then s:=s+(n-t)*i;
 write(s);
end.

posted @ 2020-07-10 13:17  离线中……  阅读(120)  评论(0编辑  收藏  举报