各正の整数 n には 2^(n−1) 個の異なる構成があります。リストにある特定の番号のみを持つ構成の番号が必要な場合:
例えば4の合成は
4
3 1
1 3
2 2
2 1 1
1 2 1
1 1 2
1 1 1 1
しかし、1と2しかない4の構成の数が必要な場合、異なる構成のNUMBERをどのように計算できますか?
2 2
2 1 1
1 2 1
1 1 2
1 1 1 1
編集: ここでは数字を計算する Haskell コードですが、数字 70 の暗記を追加しても時間がかかりすぎると思います
main :: IO ()
main = do
putStrLn "Enter the integer number"
num' <- getLine
let num = read num' :: Int
putStr ""
let result= composition num
let len=length result
print len
--print result
composition 0 = [[]]
composition n = [x:rest | x <- [1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1000],x<=n ,rest <- composition (n-x)]