RANK 1 極其簡單的遞迴 騎士與金幣

2022-08-03 03:06:08 字數 868 閱讀 6534

總時間限制: 

1000ms

記憶體限制: 

65536kb

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

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

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

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

輸入輸入包含至少一行,但不多於21行。除最後一行外,輸入的每行是一組輸入資料,包含乙個整數(範圍1到10000),表示天數。輸入的最後一行為0,表示輸入結束。

輸出對每個資料輸出一行,包含該資料對應天數和總金幣數,用單個空格隔開。

樣例輸入

1067

1115

16100

10000

1000

2122

0

樣例輸出

10 30

6 14

7 18

11 35

15 55

16 61

100 945

10000 942820

1000 29820

21 91

22 98

#includeusing

namespace

std;

int getcoins( int i ,int day )

intmain()

return0;

}

view code

43 遞迴的思想與應用1

遞迴是一種數學上分而自治的思想 將原問題分解為規模較小的問題進行處理。分解後的問題與原問題的型別完全相同,但規模較小。通過小規模問題的求解,能夠輕易求得原問題的解。問題的分解是有限的 遞迴不能無限進行 當邊界條件不滿足時,分解問題 遞迴繼續進行 當邊界條件滿足時,直接求解 遞迴結束 地規模型的一般表...

05 3 遞迴與非遞迴 棧的應用 簡單揹包問題

def fact n if n 0 return 1 else return n fact n 1 if name main print fact 3 6假定需要計算fact 3 其執行中將呼叫fact 2 進而呼叫fact 1 及fact 0 計算過程中程式執行棧的變化情況,各小圖中標著n一列的格...

NOIP題解 2018T1(簡單的分治遞迴)

這個題乍一看還不太懂咋做,看了樣例的求解過程之後才明白,先找到最小的那個深度,先把它填滿,然後以此為界,分成左右區間,然後遞迴處理,值得注意的是 遞迴出口的設定,當區間只剩下兩個元素的時候,就直接加上最大值即可!include include using namespace std const in...