yumulog

北海道の大学教員/情報科学研究者の日記

「40−32÷2=?」小学生「4!」を定式化した

Twitterやネットの掲示板などで、こんな問題が話題になっています。みなさんはコレ、パッと見て意味が分かりますか?

    40−32÷2=?

    小学生「4!」

    理系「よくわかってんじゃん」

    文系「やっぱわかんないか〜w」

 かけ算割り算は先に計算するのが決まりなので、普通に計算すれば答えは24のはず。ところが小学生の「4!」に対し、理系は「よくわかってんじゃん」、文系は「やっぱわかんないか〜」とまるで正反対の反応。え、え、どういうこと!?

文系「階乗でしょ、文系バカにすんな!」

理系「定式化しましょう。」

定式化

a,n を任意の自然数とした時に、


  小学生「n!」


つまり、


 ・・・(1)
 ・・・(2)

を満たす X,Y を解きます。
ここで、n が自然数であることと (1),(2) より、X 及び Y は、どちらも a で割り切れる自然数です。
わかりやすくするために、任意の自然数 x,y を用いて


・・・ (3)
・・・ (4)


と表すことにします。これらを (1), (2) に代入すると


・・・ (1)'
・・・ (2)'


となり、(2)' - (1)' は



変形して



また、これを (1)' に代入して



となります。よって、(3), (4) より




となります。
以上より、


 小学生「n!」


が一般化した式です。
n は自然数なので、an が a-1 で割り切れることが条件です。
X,Y は自然数なので、a(n!-n) が a-1 で割り切れることが条件です。

その他

Google Chart API が使いたかっただけとも言う。TeX 形式で

<img src="http://chart.apis.google.com/chart?cht=tx
&chl=\frac{a}{a-1}(n!-n) - (\frac{a}{a-1}(n!-n)-an) \div a = ?" /> 


と書くだけで png 形式の画像にしてくれる。便利。

ついカッとなってつくった


数値的に解いた方もいらっしゃいました

(追記)ソースコード

X,Y が自然数である組み合わせを探索するコードを書きました。とりあえず a≦1000000, n≦12 まで。


階乗の求め方は

を参考にさせて頂きました。


shogakusei.rb

#!/usr/bin/ruby
def fact(m) (1..m).to_a.inject(1){|r, i| r * i} end
for n in 3..12
  for a in 2..1000000
    if a*(fact(n)-n)%(a-1) == 0 then
      x=a*(fact(n)-n)/(a-1)
      y=a*(fact(n)-n)/(a-1)-a*n
      puts "#{x}#{y} ÷ #{a} =?」 小学生「#{n}!」" if y>0
    end
  end
end


実行

yumu$ ruby shogakusei.rb 
「4032 ÷ 2 =?」 小学生「4!」
「3018 ÷ 3 =?」 小学生「4!」
「255 ÷ 5 =?」 小学生「4!」
「230220 ÷ 2 =?」 小学生「5!」
「138108 ÷ 6 =?」 小学生「5!」
「14281416 ÷ 2 =?」 小学生「6!」
「10711053 ÷ 3 =?」 小学生「6!」
「952928 ÷ 4 =?」 小学生「6!」
「833791 ÷ 7 =?」 小学生「6!」
「816768 ÷ 8 =?」 小学生「6!」
「765675 ÷ 15 =?」 小学生「6!」
「756648 ÷ 18 =?」 小学生「6!」
「748616 ÷ 22 =?」 小学生「6!」
「735525 ÷ 35 =?」 小学生「6!」
「731473 ÷ 43 =?」 小学生「6!」
「728416 ÷ 52 =?」 小学生「6!」
「721103 ÷ 103 =?」 小学生「6!」
「1006610052 ÷ 2 =?」 小学生「7!」
「57525696 ÷ 8 =?」 小学生「7!」
「8062480608 ÷ 2 =?」 小学生「8!」
「6046860444 ÷ 3 =?」 小学生「8!」
「5039050350 ÷ 5 =?」 小学生「8!」
「4535145279 ÷ 9 =?」 小学生「8!」
「725742725724 ÷ 2 =?」 小学生「9!」
「483828483792 ÷ 4 =?」 小学生「9!」
「403190403100 ÷ 10 =?」 小学生「9!」
「378648378432 ÷ 24 =?」 小学生「9!」
「368130367500 ÷ 70 =?」 小学生「9!」
「364624362752 ÷ 208 =?」 小学生「9!」
「363078347292 ÷ 1754 =?」 小学生「9!」
「362940315600 ÷ 5260 =?」 小学生「9!」
「362894220892 ÷ 15778 =?」 小学生「9!」
「72575807257560 ÷ 2 =?」 小学生「10!」
「54431855443155 ÷ 3 =?」 小学生「10!」
「43545484354488 ÷ 6 =?」 小学生「10!」
「39916693991559 ÷ 11 =?」 小学生「10!」
「39586803958560 ÷ 12 =?」 小学生「10!」
「37937353793505 ÷ 23 =?」 小学生「10!」
「36947683694208 ÷ 56 =?」 小学生「10!」
「36617793660669 ÷ 111 =?」 小学生「10!」
「36587803657560 ÷ 122 =?」 小学生「10!」
「36437853641355 ÷ 243 =?」 小学生「10!」
「36347883628728 ÷ 606 =?」 小学生「10!」
「36317893619679 ÷ 1211 =?」 小学生「10!」
「36300003600000 ÷ 3000 =?」 小学生「10!」
「36293953569405 ÷ 5999 =?」 小学生「10!」
「36290323479072 ÷ 14996 =?」 小学生「10!」
「36289113329001 ÷ 29991 =?」 小学生「10!」
「36289003299000 ÷ 32990 =?」 小学生「10!」
「36288452969055 ÷ 65979 =?」 小学生「10!」
「36288121979352 ÷ 164946 =?」 小学生「10!」
「3628801329891 ÷ 329891 =?」 小学生「10!」
「7983357879833556 ÷ 2 =?」 小学生「11!」
「4354558843545456 ÷ 12 =?」 小学生「11!」
「4129323041292900 ÷ 30 =?」 小学生「11!」
「4004192040038400 ÷ 320 =?」 小学生「11!」
「3991710838540656 ÷ 125132 =?」 小学生「11!」
「958003176958003152 ÷ 2 =?」 小学生「12!」
「718502382718502346 ÷ 3 =?」 小学生「12!」
「638668784638668736 ÷ 4 =?」 小学生「12!」
「598751985598751925 ÷ 5 =?」 小学生「12!」
「558835186558835102 ÷ 7 =?」 小学生「12!」
「518918387518918231 ÷ 13 =?」 小学生「12!」
「515847864515847696 ÷ 14 =?」 小学生「12!」
「507178152507177936 ÷ 18 =?」 小学生「12!」
「499827744499827456 ÷ 24 =?」 小学生「12!」
「497424726497424402 ÷ 27 =?」 小学生「12!」
「493089870493089450 ÷ 35 =?」 小学生「12!」
「491283680491283200 ÷ 40 =?」 小学生「12!」
「489414666489414102 ÷ 47 =?」 小学生「12!」
「488393776488393152 ÷ 52 =?」 小学生「12!」
「488213157488212521 ÷ 53 =?」 小学生「12!」
「486045729486044901 ÷ 69 =?」 小学生「12!」
「485943640485942800 ÷ 70 =?」 小学生「12!」
「485142634485141686 ÷ 79 =?」 小学生「12!」
「484208127484207011 ÷ 93 =?」 小学生「12!」
「483697682483696446 ÷ 103 =?」 小学生「12!」
「482472614482470946 ÷ 139 =?」 小学生「12!」
「482072111482070227 ÷ 157 =?」 小学生「12!」
「481349635481347175 ÷ 205 =?」 小学生「12!」
「481169016481166352 ÷ 222 =?」 小学生「12!」
「480737101480733777 ÷ 277 =?」 小学生「12!」
「480603600480600000 ÷ 300 =?」 小学生「12!」
「480226656480221952 ÷ 392 =?」 小学生「12!」
「480085302480079986 ÷ 443 =?」 小学生「12!」
「479802594479795406 ÷ 599 =?」 小学生「12!」
「479724064479716096 ÷ 664 =?」 小学生「12!」
「479614122479604726 ÷ 783 =?」 小学生「12!」
「479543445479532825 ÷ 885 =?」 小学生「12!」
「479535592479524816 ÷ 898 =?」 小学生「12!」
「479409944479395856 ÷ 1174 =?」 小学生「12!」
「479402091479387727 ÷ 1197 =?」 小学生「12!」
「479362826479346902 ÷ 1327 =?」 小学生「12!」
「479307855479289075 ÷ 1565 =?」 小学生「12!」
「479268590479247050 ÷ 1795 =?」 小学生「12!」
「479205766479177602 ÷ 2347 =?」 小学生「12!」
「479182207479150371 ÷ 2653 =?」 小学生「12!」
「479135089479092021 ÷ 3589 =?」 小学生「12!」
「479103677479047361 ÷ 4693 =?」 小学生「12!」
「479095824479034816 ÷ 5084 =?」 小学生「12!」
「479062584478968336 ÷ 7854 =?」 小学生「12!」
「479048706478926702 ÷ 10167 =?」 小学生「12!」
「479033000478850000 ÷ 15250 =?」 小学生「12!」
「479032086478843602 ÷ 15707 =?」 小学生「12!」
「479025147478781151 ÷ 20333 =?」 小学生「12!」
「479021920478739200 ÷ 23560 =?」 小学生「12!」
「479017294478651306 ÷ 30499 =?」 小学生「12!」
「479016837478639881 ÷ 31413 =?」 小学生「12!」
「479011754478446326 ÷ 47119 =?」 小学生「12!」
「479009441478277477 ÷ 60997 =?」 小学生「12!」
「479006671477875827 ÷ 94237 =?」 小学生「12!」
「479006280477781200 ÷ 102090 =?」 小学生「12!」
「479005176477403152 ÷ 133502 =?」 小学生「12!」
「479004240476836800 ÷ 180620 =?」 小学生「12!」
「479003934476553786 ÷ 204179 =?」 小学生「12!」
「479003382475799346 ÷ 267003 =?」 小学生「12!」
「479003152475327936 ÷ 306268 =?」 小学生「12!」
「479002914474668046 ÷ 361239 =?」 小学生「12!」
「479002784474196736 ÷ 400504 =?」 小学生「12!」
「479002761474102477 ÷ 408357 =?」 小学生「12!」
「479002485472594425 ÷ 534005 =?」 小学生「12!」
「479002472472500176 ÷ 541858 =?」 小学生「12!」
「479002370471651950 ÷ 612535 =?」 小学生「12!」
「479002251470332527 ÷ 722477 =?」 小学生「12!」
「479002186469390102 ÷ 801007 =?」 小学生「12!」