トップページ > プログラム > 2014年11月24日 > qSgsCHeq

書き込み順位&時間帯一覧

29 位/256 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000001011014



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け(入門編)Part 126

書き込みレス一覧

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
すまん、問題見てきました。結構難しいね。
比較的短い手数を探索して点数付けて、正解に近いいくつかを再度探索、を繰り返すのはどうかな?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。