金幣問題(國王將金幣作為工資,發放給忠誠的騎士。)

2021-09-28 07:37:04 字數 927 閱讀 6575

題目描述

國王將金幣作為工資,發放給忠誠的騎士。第一天,騎士收到一枚金幣;之後兩天(第二天和第三天),每天收到兩枚金幣;之後三天(第

四、五、六天),每天收到三枚金幣;之後四天(第

七、八、九、十天),每天收到四枚金幣……;這種工資發放模式會一直這樣延續下去:當連續n天每天收到n枚金幣後,騎士會在之後的連續n+1天裡,每天收到n+1枚金幣。

請計算在前k天裡,騎士一共獲得了多少金幣。

輸入輸入只有1行,包含乙個正整數k(1≤k≤10000),表示發放金幣的天數。

輸出輸出只有1行,包含乙個正整數,即騎士收到的金幣數。

樣例輸入

6樣例輸出

14提示

騎士第一天收到一枚金幣;第二天和第三天,每天收到兩枚金幣;第

四、五、六天,每天收到三枚金幣。因此一共收到 1+2+2+3+3+3=14 枚金幣。

【分析】

騎士收的金幣數寫成以下形式,更容易想到解題方法

以前10天(包括第10天)收到的金幣數為例,則收到的金幣數為:

1 (第一天)

2 2 (第

二、三天)

3 3 3 (第

四、五、六天)

4 4 4 4 (第

七、八、九、十天)

若想列印上面的這個數字三角形的話,只需兩個for迴圈即可:

for

(int i=

1;i<=

4;i++

) cout<}

模擬這段**,內層for迴圈可以代表天數,那只需修改迴圈終止的條件,當天數day==k時,終止迴圈即可。

該題解決**如下:

#include

using

namespace std;

intmain()

}}}

國王撒金幣問題

國王將金幣作為工資,發放給忠誠的騎士。第一天,騎士收到一枚金幣 之後兩天 第二天和第三天 每天收到兩枚金幣 之後三天 第 四 五 六天 每天收到三枚金幣 之後四天 第 七 八 九 十天 每天收到四枚金幣 這種工資發放模式會一直這樣延續下去 當連續n天每天收到n枚金幣後,騎士會在之後的連續n 1n 1...

國王金幣題目

國王將金幣作為工資,發放給忠誠的騎士。第一天,騎士收到一枚金幣 之後兩天 第二天和第三天 裡,每天收到兩枚金幣 之後三天 第 四 五 六天 裡,每天收到三枚金幣 之後四天 第 七 八 九 十天 裡,每天收到四枚金幣 這種工資發放模式會一直這樣延續下去 當連續n天每天收到n枚金幣後,騎士會在之後的連續...

金幣陣列問題

問題描述 有m x n m 100,n 100 個金幣在桌面上排成乙個m行n 列的金幣陣列。每一枚金幣或正面朝上或背面朝上。用數字表示金幣狀態,0表示金幣正面朝上,1 表示背面朝上。金幣陣列遊戲的規則是 1 每次可將任一行金幣翻過來放在原來的位置上 2 每次可任選2 列,交換這2 列金幣的位置。程式...