ヤマネ算法後夜祭



  • 収穫祭の祭りも終わり、後片付けをしているセブンディズちゃん達に超級市場のキャンディ店「剣の八」の若旦那からメールが届きました。
    「プレゼント用のメイプルシロップキャンディどうだった。ところで一つ質問があります。三つのサーバー同じ数のキャンディを入れてあったのだけど、サーバー当たり何個キャンディが入れてあったかわかるかな?」
    収穫祭に来てくれた年少組の子たちにプレゼントを配るのが習わし。今年は、サンディちゃん、マンディちゃん、サタディちゃんがプレゼンター。それぞれのサーバーからメイプルキャンディを配りました。
    売り切れ御礼。数えてない!!
    何個ずつ配って最後に何個残ってた?
    豪快に一人17個ずつ配って余りは14個
    超豪快に一人19個配って余りは1個
    控えめに12個ずつ配って1個
    そんなわけで私たちには二個ずつ
    、答えを考えてくれたらウェンズディちゃんには余りを加えて四つ
    はいはい。サタディちゃん余りはあげるから心配しないで
    グラッチェ

    問 一つのサーバーには何個メイプルキャンディが入っていたでしょうか

    幾つも解法がありますが、初等的な解法ほど💮です。
    <超初等解法は今朝考え付いたばかり(;'∀')>

    隠す、でお願いします。
    これから落葉見物にでかけます。問3の解説は多分夕方になります。


  • System

    先頭記事が更新されました。



  • これ、どうやって小学生に教えたらいいのやら。
    o(^-^)o

    でも、有名中学の入試には導入問題付きで出題されるかも??

    :::略解

    17 で割ると余り 14
    19 で割ると余り 1
    12 で割ると余り 1

    とのことなので

    ({2} * 19 * 12) + ({15} * 12 * 17) + ({11} * 17 * 19) + ((k - 2) * (12 * 17 * 19))

    上記の係数{2},{15},{11}はたぶん総なめで探索。試算は最悪(17+19+12)=48回かかる。

    k = 1 のとき 3193

    k = 2 のとき 7069

    k = 3 のとき 10945

    以下、任意の自然数 k について同様。

    :::

    このやり方だとあまりにも愚直でフィッティングのためのお試し計算が多いので、手間のかからないもっとすぐにわかるやり方があったらと思いました。



  • @Hannibal さん
    ↑隠すにしておいて下さいpekori

    この問題に関してはちょー初等解があります。フフフ



  • 17 で割ると余り 14
    19 で割ると余り 1
    12 で割ると余り 1

    うーう

    %が剰余を求める演算子として。

    ((19 * 12) + 1) % 19 = 1

    ((19 * 12) + 1) % 12 = 1

    であるから、このことから始めてみると
    ((1 * (19 * 12) + 1) % 17 = 8

    ((k * (19 * 12) + 1) % 17

    で、kを2から順にひとつづつ増やしていくと、

    ((14 * (19 * 12) + 1) % 17 = 14
    を得る。

    検算。

    ((14 * (19 * 12) + 1) % 17 = 14((14 * (19 * 12)) + 1) % 19 = 1
    ((14 * (19 * 12) + 1) % 12 = 1

    従って、求める解のひとつは、
    3193 = (14 * (19 * 12)

    である。

    17,19,12の最小公倍数は3876であって、3193よりも大ゆえに、

    求める解のうち最小のものが3193であるとわかる。

    求める解の一般形は、
    3193 + n * 3876
    である。

    もっと簡単になるのでしたか?



  • @Hannibal さん

    その通り

    アルゴリズムはその通りですが、もう少し小学生にも見通しが聞きやすい説明ができます。(あくまで私の主観)
    A. S=19k+1=12j+1
    19k=12j
    19と12が互いに素なので
      元の数値はS=228i+1と表記できる
     B. 228iを17で割った余りは
      表1
    0_1575126296186_jouyo.jpg
      余り13となる数値+1が答:最小値は3193



  • @riffraff さん
    もうちょっと簡単にできないか考えたのですが、とりあえず初めに考えた方法を

    回答第1弾

    ①17個ずつ配って余りは14個
    ②19個ずつ配って余りは1個
    ③12個ずつ配って余りは1個

    ②と③を見るとともにあまりは1個なので、一つのサーバーに入っていたメイプルキャンディを最初から1個減らして考えます。
    すると、19でも12でも割り切れ、
    19と12は互いに素なので19×12=228の倍数であり、17で割った時余りが13となります。
    そこで
    228÷17=13・・・7
    228の場合は17で割った余りが7となり13と一致しません。
    228を何倍すれば17で割った時に13になるかを考えます。
    228の掛け算は大変なので、余りの7を使って計算していきます。
    17と7は互いに素なので17倍以下で一致するところがあることが分かるので、頑張って調べます。(;^_^A
    グラフに書いて傾向から判断してもよいですし、7×2の時14、7×3の時4・・・とやっていってもよいでしょう。
    7×14=98
    98÷17=5余り13
    にたどり着き、
    228×14+1が題意に一致します。
    14に17を足し続けても題意を満たします。



  • @マーモセット さん
    その通りです。
    上の隠すに書きましたが、Hannibalさんも同じアルゴリズムです。
    後は好みに応じた表現法!(^^)!
    明日解説を書きますが、南宋の数学書に載っている問題を表現だけ変えたものです。



  • @マーモセット さん、@riffraff さん。

    このアルゴリズムすなわち

    百五減に場合によっては近道があるなんて全く思いもよらず,でした。

    中学のときに数学の先生が「互いにしらんぷり」と連呼していたことを思い出しました。



  • この問題は南宋の秦九韶による「「数書九章」(1247)の大衍の章から単位、登場人物、舞台を変えて出題しました
    六朝の「孫子算経」初出の中国の剰余定理を体系的を取り扱った「大衍の章」については、川原秀城さんの「数と易の中国思想史」ぬ詳しく書かれています。



  • @Hannibal さん

    Re:このアルゴリズムすなわち

    百五減算を知らなかったので、ググって見ました。
    面白い考えですね。
    最初ウィキペディア(Wikipedia)を調べて

    3 で割った余りには 70、5 で割った余りには 21、7 で割った余りには 15

    ここで3で割った時になぜ35ではなくて70なのかが分からず理解するのに時間がかかりましたが、3で割った余りを1にするためなんですね。

    例題には
    3で割って余り1
    5で割って余り4 
    7で割って余り5
    が出ていますが、このケースなら今回使ったアルゴリズム?で
    知りたい元の数に2を加えて考えると、
    3でも7でも割り切れることになるので、21の倍数で5で割った時に余りが1になるものを見つけることになり、21そのままでよいので
    答えは
    21×(1+5n)-2      nは0以上の整数
    がすぐに出せますね。

    @riffraff さん
    面白い問題をありがとうございました。
    古いものはなかなかとっつけないところがありますが、こうして問題として出されると楽しむことができますね。
    ご紹介ありがとうございました。



  • @riffraff さん

    詳しい出典情報を有り難うございました。

    〔中国の剰余定理〕が載っている「大衍の章」の「大衍」ってなんだろうかと色々みてまわりましたら、どうも八卦に関連していそうなのですね。驚きました。

    〔四象 (易):wikipedia〕に、「易に太極あり、これ両儀を生じ、両儀は四象を生じ、四象は八卦を生ず。」とあり、「〔一分為二〕は〔これを合わせれば斯ち一と為り、これを【衍】ずれば斯ち万と為る〕のであって太極=一と八卦=万の関係もそのように規定され」とありました。

    また、ネットに「如何理解大衍之数五十,其用四九?」というタイトルの質問記事がありました。タイトルに〔大衍〕が含まれています。回答として以下がありました。

    ===
    太・・①,・・・①②,四象・①②③④,八卦・①②③④⑤⑥⑦⑧。
    1+(1+2)+(1+2+3+4)+(1+2+3+4+5+6+7+8)
    = 1+3+10+36 =50
    ===

    大衍之数五十が、「易有太極 是生兩儀 兩儀生四象 四象生八卦 八卦定吉凶 吉凶生大業」の、階層が異なる数の総和だなんて……乱暴だな!とか思いました。(てへ)

    @マーモセット さん

    今回の 17 19 12 ってうまく取られていますね。
    o(^-^)o



  • @Hannibalさん
    易がらみの話を始めると話は色々と拡散していきます。
    パズルにはしにくいのですが河図洛書あたりや暦がらみで色々と面白い話があります。年越しのお楽しみに暦がらみの科学史パズルを考えてみたいと思っています。



  • @riffraff さん

    中国の昔の暦に興味があります。(日本書紀の紀年法がらみがキッカケでして…紀年法の解明は一筋縄ではいかず難解だと断念しました。)

    新作を楽しみにしております。



  • @Hannibal さん
    乞うご期待(;'∀')



  • (二重投稿になったので削除します)



  • ヤマネ算法後夜祭では百五減にも関連して「互いに素」なる概念が顔をこちらに向けてじっと見て来ていたわけですけれど。

    15分前に知った驚愕の事実をお知らせしたいと存じます。

    命題
    「正の整数 a 、b が互いに素であるとする。任意の正の整数 m 、 n について常に
    a^m ≠ b^n
    が成り立つ。」
    は偽。

    えー??????????????

    言われてみればホンマや( ̄▽ ̄;)
    確かに……そうな……

    今まで気がつかなかった……

    エイプリルフールではありません。【謎】

    さきほどの命題には反例があるので偽なのです。

    なお、 m や n は無限ではありません。無限は自然数ではないので。

    ∞=∞ は反則です。

    反例を探すのは心理的に極めて困難と思われますが…いや、

    言われてみればホンマや( ̄▽ ̄;)
    なのです。



  • @Hannibal さん
    !(^^)!ホンマですね!(^^)!
    任意



  • @riffraff さん。
    そうなんですよ、オイラーのトーシェント関数をφと書くときに、
    φ(1×1) = φ(1)×φ(1)
    なんですよ……

    などと狼煙をあげて煙に巻くテスト。



  • 定義により1と1とは互いに素ですので、任意の正の整数 m, n に対して
    1^m = 1^n
    なのですね。

    これが反例です。

    「1と1とは互いに素」が私には信じられなかったのですが、

    オイラーのφ関数(トーシェント関数)についての説明を読んで信じるしかないと思いました。

    Wikipediaによれば《オイラーのφ関数とは、正の整数 n に対して、 n と互いに素である 1 以上 n 以下の自然数の個数 φ(n) を与える数論的関数 φ である。》とされ、さらに
    《1 から 20 までの値は以下の通りである。
    1, 1, 2, 2, 4, 2, 6, 4, 6, 4, 10, 4, 12, 6, 8, 8, 16, 6, 18, 8,》とあります。

    すなわち、
    φ(1) = 1
    であって、
    【正の整数 1 に対して、 1 と互いに素である 1 以上 1 以下の自然数の個数 φ(1) 】が 1 なのでした。

    つまり「1と1とは互いに素」というのが数学界では当たり前ということになります。


Log in to reply
 

Looks like your connection to パズルハウス was lost, please wait while we try to reconnect.