本文實例講述了Golang算法問題之整數拆分實現方法。分享給大家供大家參考,具體如下:
一個整數總可以拆分為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
總共有6種不同的拆分方式。
再比如: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)
輸入:一個整數N(1<=N<=1000000)。
輸出:f(n)
輸入數據如果超出范圍,輸出-1。
樣例輸入:
7
樣例輸出:
6
代碼實現:
希望本文所述對大家Go語言程序設計有所幫助。
新聞熱點
疑難解答