今回は整数問題。


問題

よしこさんは魚屋さんで、次の魚をどれも1匹以上、ちょうど3600円分買いました。

さば・・・1匹あたり 130円
あじ・・・1匹あたり 170円
いわし・・・1匹あたり 78円
さんま・・・1匹あたり 104円

さて、よしこさんはあじを何匹買ったでしょうか。          (算数オリンピック)


昔の算数オリンピックの問題ですが、これだけの条件からどうやって絞り込むのかという難しい問題ですが…。
とりあえず、問題文に書いてあること以外でわかることは魚の数は整数である(アタリマエ…)ということ。
この問題は、個人的にも気に入っている問題で、整数問題の最良問の一つだと思います。

まず、整数問題を解くときの鉄則というのがあります。

鉄則

@積の形にする
A大小関係を考える
B余りで分類する


今回は「B余りで分類する」が使えそうです。
それぞれの値段に着目すると、さば、いわし、さんまの値段はすべて13で割り切れますが、
あじの値段だけ13で割り切れず余りが1になります。

さば・・・130÷13=10
あじ・・・170÷13=13余り1
いわし・・・78÷13=6
さんま・・・104÷13=8

一方、合計代金を13で割ると、3600÷13=276余り12
つまり、さば、いわし、さんまを買うだけなら合計代金も13で割りれますが、あじを買うので割り切れないわけです。
そもそも13で割るという発想はどこから来るのかと言うと、それぞれの値段を÷2した時点で気付くと思います。

ここで、あじの値段を13で割ったときの余りと合計代金を13で割ったときの余りに着目してください。
あじ1匹なら合計代金を13割ったときの余りは1になるはずです。あじ2匹なら合計代金を13割ったときの余りは2になるはずです。
という調子で、あじの数が1匹増すごとに、余りも1増えていくことになります。
だから、、合計代金を13で割った余りが12ということは、買ったあじは12匹とわかります。






まったく同じことですが、、合同式を知っている人は使って書いてもOK

「さばA匹、あじB匹、いわしC匹、さんまD匹」を買ったとすると
130A+170B+78C+104D=3600で、
左辺=130A+170B+78C+104D=13(10A+13B+6C+8D)+B≡B (mod13)
右辺=3600≡12 (mod13)
B≡12 (mod13)より、B=12、25、・・・
つまり、買ったあじの候補は12匹、25匹、・・・となりますが、25匹で170×25=4250円となって、3600円をオーバー。
だから、あじは12匹
[←戻る]