トップページ > プログラム > 2014年07月28日 > E78m56Zj

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

41 位/186 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000020002



使用した名前一覧書き込んだスレッド一覧
◆Cn6bJfqbWU
プログラミングのお題スレ Part4

書き込みレス一覧

プログラミングのお題スレ Part4
642 : ◆Cn6bJfqbWU [sage]:2014/07/28(月) 20:45:45.25 ID:E78m56Zj
>>639 n が p, x に依存して決まるのはもちろんのことだが、
>>634 が言っていることは
「一巻あたりの頁数pが大きくて、一回に読む頁数xが小さいとイテレーション回数が増大する」
ということ。これは、多分等式:
 n巻 × p頁 = 総頁数 = 読んだ回数×一回に読む頁数x+余り1または0
もっと単純化して書けば
                      n
 n×p ≒ 回数×x → 回数 ≒ p ---
                      x
から受けた印象だと推定している。それは違うと説明したのが>>638。

なぜならある巻をx頁ずつ読だら余る頁を求める計算に繰り返しはなく、剰余式一発だから。
それに、xが1や2のような小さな値のときを考えてごらん。pがどんなに大きくても2巻目の
繰り返しに入ることなく解がすぐ求まる。

何度も繰り返さないと解にいたらないのは、xが大きな素数など、剰余が色んな値を
渡り歩いてなかなか1や0にたどりつかないとき。
そして最悪のケースは、n==xに到達するまでn×p が xの最小公倍数にならない大きなxのとき。
プログラミングのお題スレ Part4
643 : ◆Cn6bJfqbWU [sage]:2014/07/28(月) 20:55:46.88 ID:E78m56Zj
>>641
この問題、ちょっとやらしいなと思ったのは、前回読んだ巻の残り頁数が次回の
分子の頁数に繰り越されて加算されていくでしょ。
商の分子が変動する場合の剰余類環問題を、巻数をincrementさせるloopを
使わずに効率的に解く方法がすぐ身見出せるか良くわからなかった。

ぼんやり考えていたのは
1. xのgcdとなる(p×n)を算出
2. xのgcdとなる(p×n-1)を算出
3. 1または2でnの小さい方に応じてnまたはfalseを返す

てな感じのもの。

>>558 のリンク先はdat落としてみられないけれど
gcdを求めるのにユークリッドの互除法を使うってことだよね。
おk?


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