◆兵庫県の大学生 yabさんからの解答。
問題を、
「3で割ったときaあまり、5で割ったときbあまり、7で割ったときcあまる1以上105以下の自然数nを求める」とします。
なお、以下ででてくるアルファベットはすべて整数をあらわすものとします。
「解答1」
Generate and Testで解く。
つまり、1から105までの整数を順番に生成して、条件に合ったものを答えとする。
コンピューターなら簡単にできます。
for( int n=1; n<=105; n++)
{
if( n%3 == a && n%5 == b) && n%7 == c)
printf( "%d,%d,%d,%d\n", a, b, c, n);
}
わずか5行ですね。
「解答2」
上の方法で、a,b,c,nの一覧を生成すると、以下のような法則を見つけることができます。
法則1:aとbの値が一定の時、cの値が1増える毎にnは15増える。
法則2:aとcの値が一定の時、bの値が1増える毎にnは21増える。
法則3:bとcの値が一定の時、aの値が1増える毎にnは70増える。
以上のことから、n=105χ+70a+21b+15cという仮説をたてることができます。(χは未知の整数)
ここでnを3で割ると、n=3(35χ+23a+7b+5c)+aなので、確かにa余ります。
同様に5で割ると、n=5(21χ+14a+4b+3c)+bなので、b余ります。
7で割ると、n=7(15χ+10a+3b+2c)+cなので、c余ります。
もうちょっと一般的に考えると、
n=(3でも5でも7でも割り切れる整数)χ
+(5と7で割り切れるが、3で割ると1あまる整数)a
+(3と7で割り切れるが、5で割ると1あまる整数)b
+(3と5で割り切れるが、7で割ると1あまる整数)c
と書けます。
nは1以上105以下なので、答えは
n=(70a+21b+15c mod 105)
# 整数論をやるのは久しぶりです。
# 理論的に解くことができず、表を作ってそこから法則を求める経験的な手法に頼ることになってしまいました。
# 自分の数学力のなさを痛感しました。
【コメント】
でましたね!。C言語。
でも、そこから法則を発見できたというのが大変面白いですね。
ところでこの方法は百五減算と言うそうです。
最初に考えた人は本当にすごいですね。
◆栃木県 阿久津中学校 大橋 治樹さんからの解答。
この問題は、難しかったです。
まず、1−105の中の数を3で割って余りが、割り切れるときと1と2のときの数にわけます。
●3で割って余りが1の数
1 | 4 | 7 | 10 | 13 | 16 | 19 |
22 | 25 | 28 | 22 | 25 | 28 | 31 |
34 | 37 | 40 | 43 | 46 | 49 | 52 |
79 | 55 | 58 | 61 | 64 | 67 | 70 |
73 | 76 | 82 | 85 | 88 | 91 | 94 |
97 | 100 |
●3で割って余りが2の数
2 | 5 | 8 | 11 | 14 | 17 | 20 |
23 | 26 | 29 | 32 | 35 | 38 | 41 |
44 | 47 | 50 | 53 | 56 | 59 | 62 |
65 | 68 | 71 | 74 | 77 | 80 | 83 |
86 | 89 | 92 | 95 | 98 | 101 | 104 |
●3で割りきれる数
3 | 6 | 9 | 12 | 15 | 18 | 21 |
24 | 27 | 30 | 33 | 36 | 39 | 42 |
45 | 48 | 51 | 54 | 57 | 60 | 63 |
66 | 69 | 72 | 75 | 78 | 81 | 84 |
87 | 90 | 93 | 96 | 99 | 102 | 105 |
3で割り、余りが、割り切れるときと1と2のどちらかのとき、上で分けた中の数にあります。
そして、5で割ったときの余りの数であてはまる数と、7で割ったときの余りの数であてはまる数が同じになったもの、それが、相手が思い浮かべた数となるわけです。
例えば、3で割って割り切れる数は上の分けた数の中にある。
そして、5で割って余りが3の数は
3 18 33 48 63 78 93である。
7で割って余りが4の数は
18 39 60 81 102である。
同じになった数は18になる。と、まあこうなるわけです。
どうですか?
【コメント】
この問題はかなり難しい問題だと思ったのですが、なかなかの解答ですね。
よく迫ってくれました。
3で割ったときの余りと5で割ったときの余り、7で割ったときの余りを表にまとめておけば、コンピュータがなくてもその共通部分を探せば、正解が分かりますね。
穴を開けたカードで、行うようにしても面白そうですね。
◆愛知県の中学校2年生 高橋 大志 さんからの解答。
仮に「73」を考えてみます。
3で割り切れる、1余る、2余る、に1〜105をすべて分類すると
●割り切れる 3,6,9,12,15 18,21,24,27 30,33,36,39 42,45,48,51 54,57,60,63 66,69,72,75 78,81,84,87 90,93,96,99 102,105 ●1余る 1,4,7,10,13 16,19,22,25 28,31,34,37 40,43,46,49 52,55,58,61 64,67,70,73 76,69,82,85 88,91,94,97 100,103 ●2余る 2,5,8,11,14 17,20,23,26 29,32,35,38 41,44,47,50 53,56,59,62 65,68,71,74 77,80,83,86 89,92,95,98 101,104「73」は「余り1」のグループに入る。
後は同じように考えればよい。
5で割ったときに3余るのは
3,8,13,18,23, 28,33,38,43, 48,53,58,63, 68,73,78,83, 88,93,98,1037で割ったときに3余るのは
3,10,17,24,31, 38,45,52,59, 66,73,80,87, 94,101上の結果より、「3で割ったとき1余る」「5で割ったとき3余る」「7で割ったとき3余る」のすべてに当てはまる数は「73」1つだけとなるので、これが答え。