|
uchinyan |
|
掲示板を読みました。
#40741 19 の倍数を書き出しながら桁数を増やし調べていく解法。 #40742,#40746,#40752 1,10,100,1000,10000,...を 19 で割った余りを加えたり加えなかったりして 19 の倍数を作る解法。 #40745 19000… と 0 が無限に続く数を考え, 90 以降を 2 桁ずつ区切って答えの上の桁が 0 又は 1 となるように 19 の倍数を引いていく,という解法。 なかなか興味深い解法ですが,ごめんなさい,何故これでうまくいくのか,理解できていません (^^; その後,追加の説明がありました。#40755を参照。 なるほど。納得です。xxxさん,解説をありがとうございました。 #40747,#40748 19 の倍数に近く 0 と 1 で作られる桁の小さい数 110 (< 19 * 6 = 114) を考え, 110 ÷ 19 = 5.7894… より,近似的な 5.79,579 を試して,19 × 579 = 11001,とする,という解法。 個人的には,たまたまうまくいったような感じも受けますが, 多分,結果として,総合的に誤差が最小になるようにうまく評価していることになるのだろうと思います。 #40750,(掛け算の虫食い算の要領で)#40760 割り算の筆算を逆にたどっていく感じで決めていく解法。 これは,私も,#40760と同様に掛け算の虫食い算の要領で試みた方法です。 1000000001 は 19 の倍数なので高々 10 桁以下と分かっており,着実な方法です。 ただ,うるさいことを言うと,最小性のチェックや,値によっては場合分けが若干面倒になる可能性もあり, #40742などの方がスッキリしている感じがして,私の#40752はそちらにしました。 #40744,#40749 プログラムによる解法。 |
|
ネコの住む家
7月27日(土) 15:20:22
40754 |