34

mをnの累乗にするにはどうすればよいですか?私はどこでもこれを探しました。私が見つけたのは、書くm**nことはうまくいくはずだということでしたが、そうではありません。私はを使用して#!/bin/shいます。

4

6 に答える 6

36

電卓bcを試してみます。詳細と例については、http://www.basicallytech.com/blog/index.php?/archives/23-command-line-calculations-using-bc.htmlを参照してください。

例えば。

$ echo '6^6' | bc

6 の 6 乗です。

于 2012-10-28T19:01:31.860 に答える
33

$n**$m を使用すると、実際に機能します。数式を評価するために正しい構文を使用していない可能性があります。Bashで結果を取得する方法は次のとおりです。

echo $(($n**$m))

また

echo $[$n**$m]

ここでの角括弧は、if ステートメントのテスト エバリュエーターのようなものではないため、スペースなしでも使用できます。個人的には、丸括弧を使用した前の構文の方が好きです。

于 2015-02-11T21:15:49.033 に答える
9

usingbcはエレガントなソリューションです。これを bash で実行する場合:

$ n=7
$ m=5

$ for ((i=1, pow=n; i<m; i++)); do ((pow *= n)); done
$ echo $pow
16807

$ echo "$n^$m" | bc  # just to verify the answer
16807
于 2012-10-29T11:32:53.857 に答える
4

dc を使用する場合があります。これ

dc -e "2 3 ^ p"

収量

8
于 2012-10-28T19:03:23.560 に答える
1

私のシステム管理者はインストールしなかったdcので、他の正解に追加します。あなたはこれについて考えていなかったに違いありません-

a=2
b=3
python -c "print ($a**$b)"
>> 8

bash/シェルで動作します。

于 2018-10-20T19:16:40.930 に答える