cometoj——C1874 金幣

題目描述

國王將金幣作爲工資,發放給忠誠的騎士。第 1天,騎士收到一枚金幣;之後兩天(第 2 天和第 3 天)裏,每天收到兩枚金幣;之後三天(第 4、5、6 天)裏,每天收到三枚金幣;之後四天(第 7、8、9、10 天)裏,每天收到四枚金幣……這種工資發放模式會一直這樣延續下去:當連續 n 天每天收到 n枚金幣後,騎士會在之後的連續 n+1 天裏,每天收到 n+1枚金幣(n爲任意正整數)。

你需要編寫一個程序,確定從第一天開始的給定天數內,騎士一共獲得了多少金幣。

輸入描述

一個整數 n(n∈[1,10000]),表示天數。

輸出描述

騎士獲得的金幣數。

樣例輸入 1

6
樣例輸出 1

14

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner read = new Scanner(System.in);
		int k = read.nextInt();
		long sum=0;
		int day=0;
		int i=1;
		while(day<k)
		{
			if(day+i>k)
			{
				int j=k-day;
				sum+=j*i;
				day+=i;
			}
			else
			{
				sum+=i*i;
				day+=i;
				i++;
			}
		}
		System.out.println(sum);
	}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章