コンソール上で指定した数字のべき乗数(Xのn乗のn)を求める
Pocket

ちょっと前にだけど、シェル芸botでそういった処理を行うという内容のPOSTがあったので残しておく。
例えば、3の6乗という数字を出す場合、bashでは以下のように実行すれば出力ができる。

echo $(( 3 ** 6))
blacknon@BS-PUB-UBUNTU-01:~$ echo $(( 3 ** 6 ))
729
Sponsored Links

じゃあ、この数字から3のn乗なのかを取得する(この場合、6を取得する)にはどうすればいいか?
どうやら、底の変換公式を使うといいらしい(知らんかった)。

echo 729 | awk '{x=3;print $1" = "x" ** "log($1)/log(x)}'
blacknon@BS-PUB-UBUNTU-01:~$ echo 729 | awk '{x=3;print $1" = "x" ** "log($1)/log(x)}'
729 = 3 ** 6

 

こんな簡単に出せたんだなぁ…。
しらんかった。

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*