- C言語なら俺に聞け(入門編)Part 126
955 :デフォルトの名無しさん[sage]:2014/11/24(月) 18:42:27.74 ID:qSgsCHeq - >>950
再帰でいいとおもうよ http://ideone.com/3CWKVR
|
- C言語なら俺に聞け(入門編)Part 126
958 :デフォルトの名無しさん[sage]:2014/11/24(月) 20:33:17.07 ID:qSgsCHeq - >>956
関数 f は、文字列 str[] の start <= i < end の部分を入れ替えてできる順列を表示する関数です str[] の中のデータは内部で書き換えますが、リターンするときには元と同じにして戻ります 例題の場合、最初の呼び出しでは 先頭の文字を a→b→c→d→a とローテートしながら、その途中途中で再帰コールしています ツリーで言うなら枝が4本できたってこと。 こうして次々に再帰コールで枝分かれしていって、最後に分岐しなくなったところで表示します
|
- C言語なら俺に聞け(入門編)Part 126
960 :デフォルトの名無しさん[sage]:2014/11/24(月) 21:08:09.72 ID:qSgsCHeq - えーと、ねたでしょうか?自分で答え言っちゃってますよね
|
- C言語なら俺に聞け(入門編)Part 126
978 :デフォルトの名無しさん[sage]:2014/11/24(月) 23:22:57.36 ID:qSgsCHeq - >>961
すまん、問題見てきました。結構難しいね。 比較的短い手数を探索して点数付けて、正解に近いいくつかを再度探索、を繰り返すのはどうかな?
|