【Java】3分あれば完璧!sqrtメソッドを使って平方根を計算する!
√2は1.41421356…、√3は1.7320508…、√5は2.2360679…のように平方根の計算を行ってきたと思いますが、プログラミングではこれを簡単に処理することができます。
平方根を計算するにはMathクラスのsqrtメソッドを使用します。
Mathクラスは、指数関数、対数関数、平方根、および三角関数といった基本的な数値処理を実行するためのメソッドを含むクラスです。
その為、平方根(ルート)を計算するにはMathクラスを使用する必要があります。
今回はsqrtメソッドを使って、以下の場合で平方根(ルート)の計算を行います。
・ 平方根が正の整数の場合
・ 平方根が負の整数の場合
・ 平方根が0の場合
・ 平方根が無限大(∞)の場合
・ 演算子を使って平方根同士で計算を行う場合
また、cbrtメソッドを使って、立方根の計算を行う方法についても紹介していきます。
目次
sqrtメソッドとは
Mathクラスのsqrtメソッドは平方根を計算することができます。
sqrtメソッドの書き方
sqrtメソッドの構文は下記となります。
1 |
Math.sqrt(数値) |
sqrtメソッドの()に引数として数値を指定することで引数の平方根を表示することができ、double型の値を返します。
平方根を計算するサンプルコード
時間をで計測するサンプルコードを紹介します。
時間を計測するには、処理を開始した時刻と終了した時刻を記録し、その差を求めることで計測することができます。
平方根が正の整数の場合
例
1 2 3 4 5 6 7 8 9 10 11 |
// 平方根を求める public class Main { public static void main(String[] args) throws Exception { // 1から10の平方根を求める for (int i = 1; i <= 10; i++){ System.out.println(i + "の平方根=" + Math.sqrt(i)); } } } |
出力結果
1の平方根=1.0
2の平方根=1.4142135623730951
3の平方根=1.7320508075688772
4の平方根=2.0
5の平方根=2.23606797749979
6の平方根=2.449489742783178
7の平方根=2.6457513110645907
8の平方根=2.8284271247461903
9の平方根=3.0
10の平方根=3.1622776601683795
平方根の値が表示されました。
平方根が負の整数の場合
例
1 2 3 4 5 6 7 8 9 10 11 |
// 平方根を求める public class Main { public static void main(String[] args) throws Exception { // -1から-10の平方根を求める for (int i = -1; i >= -10; i--){ System.out.println(i + "の平方根=" + Math.sqrt(i)); } } } |
出力結果
-1の平方根=NaN
-2の平方根=NaN
-3の平方根=NaN
-4の平方根=NaN
-5の平方根=NaN
-6の平方根=NaN
-7の平方根=NaN
-8の平方根=NaN
-9の平方根=NaN
-10の平方根=NaN
負の整数の場合だと、NaNと表示されます。
平方根が0の場合
例
1 2 3 4 5 6 7 8 9 |
// 平方根を求める public class Main { public static void main(String[] args) throws Exception { // 0の場合 System.out.println("0の平方根=" + Math.sqrt(0)); } } |
出力結果
0の平方根=0.0
0の場合は0になりますが、Double型を返すので0.0が表示されます。
平方根が無限大(∞)の場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 平方根を求める public class Main { public static void main(String[] args) throws Exception { // 正の無限大の場合 System.out.println("正の無限大の平方根=" + Math.sqrt(Double.POSITIVE_INFINITY)); // 負の無限大の場合 System.out.println("負の無限大の平方根=" + Math.sqrt(Double.NEGATIVE_INFINITY)); } } |
出力結果
正の無限大の平方根=Infinity
負の無限大の平方根=NaN
正の無限大の場合は正の無限大を返し、負の無限大の場合はNaNを返します。
演算子を使って平方根同士で計算を行う場合
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 平方根を求める public class Main { public static void main(String[] args) throws Exception { // 加法の場合 System.out.println("平方根の加法=" + Math.sqrt(2) + Math.sqrt(3)); // 乗法の場合 System.out.println("平方根の乗法=" + Math.sqrt(5) * Math.sqrt(7)); } } |
出力結果
平方根の加法=1.41421356237309511.7320508075688772
平方根の乗法=5.916079783099617
演算子を使って計算した結果を表示しています。
立方根を求める場合
立方根を求める場合はMathクラスのcbrtメソッドを使用します。
例
1 2 3 4 5 6 7 8 9 10 11 |
// 立方根を求める public class Main { public static void main(String[] args) throws Exception { // 1から10の立方根を求める for (int i = 1; i <= 1000; i = i*10){ System.out.println(i + "の立方根=" + Math.cbrt(i)); } } } |
出力結果
1の立方根=1.0
10の立方根=2.154434690031884
100の立方根=4.641588833612779
1000の立方根=10.0
今回のポイント
sqrtで平方根を計算
平方根を計算するにはMathクラスのsartメソッドを使用する。
• 数値の平方根を求めるにはMathクラスのsqrtメソッドを使用する
• sqrtメソッドの戻り値はdouble値になる
• sqrtメソッドのパラメータがNaN(Double.NaN)、または、負の数である場合は、「NaN」を戻す。
• sqrtメソッドのパラメータが正の無限大(Double.POSITIVE INFINITY)の場合は、「正の無限大」を戻し、負の無限大(Double.NEGATIVE INFINITY)の場合は「NaN」を戻す。
• sqrtメソッドのパラメータが0の場合は、「0」を戻す。
• 立方根を求めるにはMathクラスのcbrtメソッドを使用する
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。