演算法競賽經典 遞推演算法 數的計數

2021-08-17 21:46:46 字數 656 閱讀 1124

【問題描述】數的計數(people.cpp/c/pas) noip2001

「修羅王的召喚聽見了聽見了,黑暗軍團的勇士們咆哮了咆哮了,看神國的聖殿動搖了動搖了,我仰天大笑是我們進攻的時候了,哈哈哈哈哈哈……」當漫山遍野響起黑暗軍團的戰歌時,鬱悶的邪狼卻在一遍遍地反覆計算黑暗軍團的總人數。

計算方法是這樣的,輸入乙個自然數n(n≤1000),然後對此自然數按照如下方法進行處理:

(1)不做任何處理;

(2)在它的左邊加上乙個自然數,但該自然數不能超過原數的一半;

(3)加上數後,繼續按此規則進行處理,直到不能再加自然數為止。

則具備上面性質的數的個數(包含輸入的自然數n)即是黑暗軍團的人數。

【輸入格式】

乙個自然數n。

【輸出格式】

輸出數的個數。

【輸入樣例】

6【樣例說明】

6 (6 16 26 126 36 136,不必輸出具體方案)

#include#includeusing namespace std;

int n;

int dp[1000 + 1];

int main()

printf("%d\n", dp[n]);

} return 0;

}

數的計數 遞推演算法

我們要求找出具有下列性質數的個數 包含輸入的自然數n 先輸入乙個自然數n n 1000 然後對此自然數依照例如以下方法進行處理 不作不論什麼處理 在它的左邊加上乙個自然數,但該自然數不能超過原數的一半 加上數後。繼續按此規則進行處理,直到不能再加自然數為止。輸入有多組資料。每組資料為自然數n。對於每...

演算法競賽寶典 遞推演算法 過河卒

題目描述 如圖,a 點有乙個過河卒,需要走到目標 b 點。卒行走規則 可以向下 或者向右。同時在棋盤上的任一點有乙個對方的馬 如上圖的c點 該馬所在的點和所有跳躍一步可達的點稱為對方馬的控制點。例如上圖 c 點上的馬可以控制 9 個點 圖中的p1,p2 p8 和 c 卒不能通過對方馬的控制點。輸入 ...

演算法競賽寶典 遞推演算法 曲線分割

問題描述 曲線分割 curve.cpp c pas 設有n條封閉曲線畫在平面上,而任何兩條封閉曲線恰好相交於兩點,且任何三條封閉曲線不相交於同一點,問這些封閉曲線把平面分割成的區域個數。輸入格式 輸入整數n。輸出格式 輸出分割的區域個數。輸入樣例 2 輸出樣例 4 找規律再與尋找變化的地方,研究變化...