藍橋 序列計數

2021-10-04 13:50:41 字數 1004 閱讀 1554

問題描述

小明想知道,滿足以下條件的正整數序列的數量:

1. 第一項為 n;

2. 第二項不超過 n;

3. 從第三項開始,每一項小於前兩項的差的絕對值。

請計算,對於給定的 n,有多少種滿足條件的序列。

輸入格式

輸入一行包含乙個整數 n。

輸出格式

輸出乙個整數,表示答案。答案可能很大,請輸出答案除以10000的餘數。

樣例輸入

4樣例輸出

7樣例說明

以下是滿足條件的序列:

4 14 1 1

4 1 2

4 24 2 1

4 34 4

評測用例規模與約定

對於 20% 的評測用例,1 <= n <= 5;

對於 50% 的評測用例,1 <= n <= 10;

對於 80% 的評測用例,1 <= n <= 100;

對於所有評測用例,1 <= n <= 1000。

題意:找符合要求的正整數序列,因為是數列,所以,這個數列的長度應該是 n–>無窮大 。

解題思想:用深搜,外加標記值,以減少計算量。 (輸入1000:執行時間,1s左右)

用了遞迴的方法!簡單粗暴!

#include 

#include

int main

(int argc, char *ar**)

printf

("%d"

,num%

10000);

//記得%10000

return0;

}int fun

(int n,int last)

/*第乙個形表示前兩個數差的絕對值,第二個表示上一項數的值,方便進

行下一次遞迴*/

for(i=

1;i)return sum%

10000

;//記得反回sum

}

題記 序列計數 藍橋杯

小明想知道,滿足以下條件的正整數序列的數量 第一項為 n 第二項不超過 n 從第三項開始,每一項小於前兩項的差的絕對值。請計算,對於給定的 n,有多少種滿足條件的序列。輸入格式 輸入一行包含乙個整數 n。輸出格式 輸出乙個整數,表示答案。答案可能很大,請輸出答案除以10000的餘數。樣例輸入 4 樣...

題記 序列計數 藍橋杯

問題描述 小明想知道,滿足以下條件的正整數序列的數量 1.第一項為 n 2.第二項不超過 n 3.從第三項開始,每一項小於前兩項的差的絕對值。請計算,對於給定的 n,有多少種滿足條件的序列。輸入格式 輸入一行包含乙個整數 n。輸出格式 輸出乙個整數,表示答案。答案可能很大,請輸出答案除以10000的...

藍橋杯 序列計數 記憶化搜尋

問題描述 小明想知道,滿足以下條件的正整數序列的數量 1.第一項為 n 2.第二項不超過 n 3.從第三項開始,每一項小於前兩項的差的絕對值。請計算,對於給定的 n,有多少種滿足條件的序列。輸入格式 輸入一行包含乙個整數 n。輸出格式 輸出乙個整數,表示答案。答案可能很大,請輸出答案除以10000的...