私は正常に動作Haskellのため、このコードを見つけCとHaskellの でComposition of Integer見つけたい:このコードの構成
composition 0 = [[]]
composition n = [x:rest | x <- [1..n], rest <- composition (n-x)]
サンプル出力は、次のとおりです。
*Main> composition 3
[[1,1,1],[1,2],[2,1],[3]]
*Main> composition 4
[[1,1,1,1],[1,1,2],[1,2,1],[1,3],[2,1,1],[2,2],[3,1],[4]]
を
しかし、私はCで同等のものを開発できませんでした: Cで再帰関数を作成しようとしましたが、Haskellと同等のものを使う方法がわかりません:[] in C
0このコードのサンプル出力は次のとおりです。
Composition is
111
2
21
3
3の正しい組成物は、printf関数を使用して
1 1 1
2 1
1 2
3
あなたの質問はちょっと混乱しています。あなたは正確に何を求めているのですか? CまたはC#ソリューション?あなたはハスケルを知らない人々のために、次のような表現を記述できますか? 'generate n = [x:rest | x < - [1..n]、rest < - generate(n-x)] 'は実行しますか?より多くの情報を提供することで、人々があなたの質問に答えることが容易になります –
@ LuckAss私はC出力を追加します –
@progy_rock 1)私は知っていますが、私はそれを修正する方法を知らない2)とにかく私はまた、私がハスケルで行ったような再帰的な方法で配列を作成する方法を知らない:コロン。 –