プログラミングの為の ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
347:337 05/11/21 18:58:04 >>340 素直にやるなら,前から順に読んでいって現れた数字を記録しないとならないですよね. 前から順に読んで現れた数字より大きい数字を全てデクリメントしていくやり方も あるのかな?参考になります. >>345 これって 340 さんの考え方じゃなくてむしろ 341 さんの考え方ですよね? >>346 すいません.最初,説明を「0 から N-1」と書いてて後で直したんですが 例を書き直すのを忘れてました.337 の正しい例は {2, 3, 1} です. 348:デフォルトの名無しさん 05/11/22 04:02:57 >前から順に読んで現れた数字より大きい数字を全てデクリメントしていくやり方 それでいいんでね? (1)result=0で初期化 *ここで、1〜Nの整数が、適当に並べ替えられて並んでいたとして、 (2)N=1ならresult+1を返し終了。 (3)左端の数aに対し (a-1)*(N-1)! を計算し、resultに加算。 (4)列の中で、aより大きい要素は全て1だけ減らす(小さい要素はいじらない)。 (5)先頭のaを切り落とし(N=N-1)、残った列に対し*に戻る。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5376日前に更新/259 KB
担当:undef