プログラミングのお題スレ Part4
■ このスレッドは過去ログ倉庫に格納されています
一般に、+1づつ増加する自然数1,2,3,…をxで割った
剰余は1,2,…,x-1,0(←ここで割り切れ、商は1となる)
一方>>555の問題は剰余が
p頁*1巻 % x頁 = m1頁
p頁*2巻 % x頁 = m2頁 =m1×2
p頁*3巻 % x頁 = m3頁 = m1×3
…と最初m1から始まって幅m1ずつ増える数列となる。
しかし剰余が大きくなっていきxを越えるとき、m1の倍数からドリフトし、
別の切片から始まり、傾きm1ずつ増える数列に切り替わる。これを繰り返し、
いずれ総ページがpとxの最小法倍数となる巻数で剰余は0になる。
問題は、上記剰余列のなかに値1となるときがあるか、あるならば何巻目か。
1巻目から検索せずに飛躍的して速やかに求める解法があるかどうかだ。
別の面から見ると、p*nがxで割り切れる巻数nは
pとxの最小公倍数から簡単に求められる。
そのときの総ページ数を、
・幅x頁で分割した節点
と
・幅m1で分割した節点
の位置関係のうち、
幅x頁で分割した節点の+1のところに幅m1で分割した節点があるか、
その位置が予測可能かどうかだともいえる。
この規則性みたいな物が定式化できれば解けるかも知れないけど
でも今オレに分かっているのは悪いけどここまでだ。
>>666>>667 どうせなら内容にケチ付けてよ。
■ このスレッドは過去ログ倉庫に格納されています