MySQLで数値の累乗を計算する方法【POWER()関数の使い方】
MySQLで数値の累乗を計算するには?
MySQLで数値の累乗(べき乗)を計算するには、POWER()関数を使用します。POWER()関数は、第1引数に基数となる数値、第2引数に指数を指定することで、その計算結果を返します。
なお、POWER()関数は別名としてPOW()関数でも呼び出すことができ、どちらも同じ動作をします。
ここでは、実際にテーブルを作成し、POWER()関数を使って累乗を計算する手順を具体的な例とともに解説します。
1. テーブルを作成する
まず、数値を格納するためのテーブルを作成しましょう。
mysql> create table DemoTable
( Amount int
);
Query OK, 0 rows affected (0.89 sec)
2. レコードを挿入する
次に、INSERTコマンドを使ってテーブルにレコードを追加します。
mysql> insert into DemoTable values(64);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(144);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(400);
Query OK, 1 row affected (0.13 sec)
3. テーブルの内容を確認する
SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
このクエリを実行すると、以下のような結果が出力されます。
+--------+
| Amount |
+--------+
| 64 |
| 144 |
| 400 |
+--------+
3 rows in set (0.00 sec)
4. POWER()関数で累乗を計算する
それでは、POWER()関数を使って各数値の2乗を計算してみます。AS句を使えば、計算結果の列に任意の別名(エイリアス)を付けることもできます。
mysql> select Amount, power(Amount,2) AS CURRENT_AMOUNT from DemoTable;
実行結果は以下の通りです。
+--------+----------------+
| Amount | CURRENT_AMOUNT |
+--------+----------------+
| 64 | 4096 |
| 144 | 20736 |
| 400 | 160000 |
+--------+----------------+
3 rows in set (0.04 sec)
補足:POWER()関数のポイント
- 指数には小数や負の数も指定可能です。例えば「power(2, 0.5)」は2の平方根、「power(2, -1)」は2分の1を返します。
- 累乗の計算結果が整数型の範囲を超える可能性がある場合は、戻り値のデータ型に注意してください。
このように、POWER()関数を使えばMySQL上で簡単に累乗計算を行うことができます。金額の二乗や面積の計算など、数値データを扱う場面でぜひ活用してみてください。
-
C++でnの階乗(n!)に含まれる素数rの冪を効率的に求める方法
問題の概要この問題では、2つの整数 n と r が与えられます。求めるのは、n の階乗(n!)に素数 r が何回掛けられているか、つまり素数 r の冪(べき乗の指数)です。例で理解しよう入力 − n = 6, r = 2出力 − 4説明 −6! = 6×5×4×3×2×1 = 720 720 = 24 × 32 × 5 したがって、2 の冪は 4解法アプローチ素朴な解法とその課題まず思い浮かぶのは、階乗を実際に計算してから、その値を素数 r で割り続けて冪を求める方法です。しかし、階乗の値は n が少し大きくなるだけで急激に巨大化し、オーバーフローの危険があるため、この方法は実用的とは言えませ
-
C#で数値が2の累乗かどうかを判定する方法をわかりやすく解説
「2の累乗」とは、整数 n を用いて 2n の形で表せる数のことです。つまり、基数を2、指数を整数 n としてべき乗計算を行った結果の値を指します。代表的な2の累乗は以下の表のとおりです。n2n01122438416532このように、n = 0 のときは 20 = 1 となる点に注意してください。1 もまた2の累乗に含まれます。C#で数値が2の累乗かどうかを判定するには、主に2つのアプローチがあります。それぞれサンプルコードとともに見ていきましょう。方法1:ビット演算を使う(高速・定番)2の累乗である数をバイナリで表すと、最上位ビットだけが1になり、それ以外はすべて0になります。例えば、8 は