牛客網刷題 整數拆分

2021-09-13 07:43:05 字數 688 閱讀 1458

題目描述

乙個整數總可以拆分為2的冪的和,例如: 7=1+2+4 7=1+2+2+2 7=1+1+1+4 7=1+1+1+2+2 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 總共有六種不同的拆分方式。 再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。 用f(n)表示n的不同拆分的種數,例如f(7)=6. 要求編寫程式,讀入n(不超過1000000),輸出f(n)%1000000000。

輸入描述:

每組輸入包括乙個整數:n(1<=n<=1000000)。

輸出描述:

對於每組資料,輸出f(n)%1000000000。

分析:這道題一定要分析不同的數的拆分規律,不然完全沒有思路。

需要對整數n進行拆分,分析發現關於奇數的拆分其實可以劃歸為n-1(偶數)的拆分,因為僅僅是多了乙個1,其後的拆分方式完全是相同的;

而對於偶數的拆分則可以劃歸為有1的拆分和沒有1的拆分兩種,如果是有1的拆分,則為n-1(奇數)的拆分,又回到的上面的對奇數的拆分方式,而如果是沒有1的方式,則又可以將拆分的每一項除以2,劃歸為n/2的拆分,就這樣進行向後劃歸,最終將劃歸到對1的劃歸。

**:

#includeusing namespace std;

int main()

cout<}

}

牛客網 整數拆分

題目描述 乙個整數總可以拆分為2的冪的和,例如 7 1 2 4 7 1 2 2 2 7 1 1 1 4 7 1 1 1 2 2 7 1 1 1 1 1 2 7 1 1 1 1 1 1 1 總共有六種不同的拆分方式。再比如 4可以拆分成 4 4,4 1 1 1 1,4 2 2,4 1 1 2。用f n...

牛客網刷題

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...

牛客網刷題

時間限制 c c 2秒,其他語言4秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld 立華奏是乙個剛剛開始學習 oi 的萌新。最近,實力強大的 qingyu 當選了 iods 9102 的出題人。眾所周知,iods 是一場極其毒瘤的比賽。為了在這次...