題目描述
國王將金幣作為工資,發放給忠誠的騎士。第一天,騎士收到一枚金幣;之後兩天(第二天和第三天),每天收到兩枚金幣;之後三天(第
四、五、六天),每天收到三枚金幣;之後四天(第
七、八、九、十天),每天收到四枚金幣……;這種工資發放模式會一直這樣延續下去:當連續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 列金幣的位置。程式...