• ベストアンサー

算数オリンピックの問題:数

算数オリンピックの問題 とき方わかりません。おしえてください。 1997 に1以上の整数をかけて、「9」の数字が5個連続してあらわれるような積を作ります。 このような積のうち、もっとも小さいものを求めなさい

質問者が選んだベストアンサー

  • ベストアンサー
noname#8027
noname#8027
回答No.3

それでは、ちょっぴり数学らしくやるとどうでしょう? 【6桁の場合】 (1) ?99999の形 149+150x=1997y  1≦x≦9 では自然数のyは存在しない。 (2) 99999?の形 1490≦1997y≦1499  では自然数のyは存在しない。 【7桁の場合】 (1) ??99999の形 149+150x=1997y 10≦x≦99 より、1649≦149+150x≦14999 1649≦ 1997y ≦14999 yは自然数より、 1≦ y ≦7 149+150xの1の位に着目すると9である。 1997yの1の位が7になる場合は、上記の範囲では y=7 このとき、1997y=13979=150x+149を満たす自然数のxは存在しない。 (2) ?99999?の形 999990=1997*500+1490より 1490+1500x≦1997y≦1490+1500x+9 x=1のとき2990≦1997y≦2999 解無し x=2のとき4490≦1997y≦4499 解無し x=3のとき5990≦1997y≦5999 y=3 1997y=5991 よって、3999991が該当 (3) 99999??の形 (2)の3999991より明らかに大きいので不適

mina5
質問者

お礼

定式化がよく理解できました。この類の問題はMODの考えが基本なんですね。どうもありがとうございました。

その他の回答 (3)

  • seyber
  • ベストアンサー率25% (33/128)
回答No.4

とりあえず、44667で条件を満たします。 1桁づつ条件を満たして行きます。 1の桁が9になる条件7 10の桁攻略!^^ ↓+4 2の桁が9になる条件6 てな感じで案外楽に行きましたが。^^;

mina5
質問者

補足

上に「――44667で条件を満たします。」とありますが これはどういう条件を満たすといっているのでしょうか。またどうしてこの数字がでてきたのでしょうか。

noname#8027
noname#8027
回答No.2

強引にやれば、以下のようになります。 実際に割り算をしなくても、100000=50*1997+150、1000000=500*1997+1500ですから、 99999=50*1997+149 をやったら、150ずつ加えていけばよいのです。ほとんど暗算で できますね。 余り 99999 149 199999 299 299999 449 399999 599 499999 749 599999 899 699999 1049 799999 1199 899999 1349 999990 1490 999991 1491 999992 1492 999993 1493 999994 1494 999995 1495 999996 1496 999997 1497 999998 1498 999999 1499 1099999 1649 1199999 1799 1299999 1949 1399999 102 1499999 252 1599999 402 1699999 552 1799999 702 1899999 852 1999990 993 1999991 994 1999992 995 1999993 996 1999994 997 1999995 998 1999996 999 1999997 1000 1999998 1001 1999999 1002 2099999 1152 2199999 1302 2299999 1452 2399999 1602 2499999 1752 2599999 1902 2699999 55 2799999 205 2899999 355 2999990 496 2999991 497 2999992 498 2999993 499 2999994 500 2999995 501 2999996 502 2999997 503 2999998 504 2999999 505 3099999 655 3199999 805 3299999 955 3399999 1105 3499999 1255 3599999 1405 3699999 1555 3799999 1705 3899999 1855 3999990 1996 3999991 0

mina5
質問者

お礼

なるほど,MODの考えで物理的にやる。面白い発想。 コンピュータのアルゴリズムでも解けそう。感心しました。100000=50*1997+150 にあそうかと思いました。 ありがとうございました。

回答No.1

下記URL。ただし、最小かどうかはわからない。 1997*2=3994、1997*3=5991より、3994000+5991=3999991

参考URL:
http://cheese.2ch.net/math/kako/1014/10146/1014673280.html
mina5
質問者

お礼

実は質問する前にここもちらっとみていました。 この中に(2000-3)×(2000+3)=4000000-9=3999991の発想ものってましたね。 どうもありがとうございました

関連するQ&A

専門家に質問してみよう