puts 0**0

0の0乗の正解がネット検索しても見つからないので作成した。 | 子育ての達人 | 妊娠・出産・育児・子育ての毎日を楽しく

えええええ!?00=1じゃないの!?????

記事を要約すると「代数的には未定義(存在しない)、解析的には不定(2つの関数をどう定義するかによる)」らしい。

でもまあ、困ったときは神ならぬRuby頼みと言うことで...

puts 0**0
1
=> nil

我らがRuby様は00=1だとおっしゃった!

なので明日からも00=1で生きていきます。

ちなみに、手元にある「数とグラフの雑学事典」という本を読むと、00については「指数法則を弄ると1または0だけど、それは00が存在すると仮定しての話。解析的には1がよさそうだけどおかしくなる」のようなことが書かれてる(厳密な記述は本を買って読んでね)。

たぶん、これを小学生ぐらいに読んで「で、結局00=1がよさそうってこと?じゃあそれ採用」みたいになってたんだと思う。


Ruby以外だと、pythonでも00=1だった。

JavaScriptも1。undefinedやNaN値があるからてっきりそれが返るのかと思ったけど違った。

Wolfram Alphaは「未定義(undefined)」。