14
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Advent Calendar 2022 139日目1の記事です。
I'm looking forward to 12/25,2022 :santa::santa_tone1::santa_tone2::santa_tone3::santa_tone4::santa_tone5:
私のAdvent Calendar 2022 一覧


はじめに

Elixir を楽しんでいますか:bangbang::bangbang::bangbang:

この記事は、Elixirで冪根(べきこん、または累乗根(るいじょうこん))を求めてみます。

What's 冪根(べきこん) or 累乗根(るいじょうこん) ?

次の式が成り立ちます。

\sqrt[n]{x} = x^{\frac{1}{n}}

詳しくは、Wikipediaの冪根をご確認ください。

たとえば、

  • 3は、9の2乗根 (3を2乗すると、9になる)
  • 9は、81の2乗根 (9を2乗すると、81になる)
  • 9は、729の3乗根 (9を3乗すると、729になる)

というわけです。

Elixirでやってみる

$ iex

IEx (Elixir's interactive shell)を立ち上げて確認してみます。

iex> 9 ** (1/2)
3.0
iex> 81 ** (1/2)
9.0
iex> 81 ** 0.5  
9.0
iex> 729 ** (1/3)
8.999999999999998

※ 729の3乗根は9に近い値となっています。
http://www.ritsumei.ac.jp/se/rv/joen/program06/program2_06.html の話です。

**/2

**/2は、Elixir 1.13から使えます。

その実装は以下にあります。

第2引数が、小数である場合には、:math.pow(base, exponent)とErlangの関数が呼び出されていました。

参考記事と御礼

こちらの記事で、Pythonを使って81 ** (1/2)の計算をされていました。
Elixirでやってみるとどうなるのだろう? とおもって、やってみたところ同じ結果が得られました。
ということを記事にしておきました。
ありがとうございます!

まとめ

Elixirで冪根(べきこん、または累乗根(るいじょうこん))を求めてみました。

\sqrt[n]{x} = x^{\frac{1}{n}}

**/2は、Elixir 1.13から使えます。

2022/12/25が待ち遠しいです :santa::santa_tone1::santa_tone2::santa_tone3::santa_tone4::santa_tone5:


I organize autoracex.
And I take part in NervesJP, fukuoka.ex, EDI, tokyo.ex, Pelemay.
I hope someday you'll join us.

We Are The Alchemists, my friends!

  1. @kaizen_nagoya さんの「「@e99h2121 アドベントカレンダーではありますまいか Advent Calendar 2020」の改訂版ではありますまいか Advent Calendar 2022 1日目 Most Breakthrough Generator」から着想を得て、模倣いたしました。

14
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?