問題描述
小明想知道,滿足以下條件的正整數序列的數量:
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的...