P1028 數的計算 (遞迴 遞推)

2021-10-04 17:45:57 字數 558 閱讀 6696

題目傳送門

思路:設a[i]為n=i時的方案數。可知當 i 不進行操作有一種方案,然後 i的左邊可以加1,2,…… i / 2,然後又轉化為求解a[1],a[2],……a[i/2]的方案數。這顯然是乙個遞推過程,由於每個方案都是由字首和得到,所以我們可以用乙個陣列儲存字首和。遞推公式:a[ i ]=a[i-1]+(a[ i/2]+1)

遞推寫法:

#include

using

namespace std;

int b[

1005

],n;

intmain()

遞迴寫法:

#include

using

namespace std;

int sum[

1005

],n;

intdfs

(int x)

intmain()

P1028 數的計算(遞推 打表)

我們要求找出具有下列性質數的個數 包含輸入的自然數nn 先輸入乙個自然數nn n le 1000n 1000 然後對此自然數按照如下方法進行處理 不作任何處理 在它的左邊加上乙個自然數,但該自然數不能超過原數的一半 加上數後,繼續按此規則進行處理,直到不能再加自然數為止.11個自然數nn n le ...

P1028 數的計算

我們要求找出具有下列性質數的個數 包含輸入的自然數 nn 先輸入乙個自然數 nn n le 1000n 1000 然後對此自然數按照如下方法進行處理 不作任何處理 在它的左邊加上乙個自然數,但該自然數不能超過原數的一半 加上數後,繼續按此規則進行處理,直到不能再加自然數為止.輸入格式 11 個自然數...

P1028 數的計算

我們要求找出具有下列性質數的個數 包含輸入的自然數nn 先輸入乙個自然數nn n le 1000n 1000 然後對此自然數按照如下方法進行處理 不作任何處理 在它的左邊加上乙個自然數,但該自然數不能超過原數的一半 加上數後,繼續按此規則進行處理,直到不能再加自然數為止.輸入格式 11個自然數nn ...