Articles

Javaで二乗と平方根を計算するには?

Posted on
Swatee Chand
Swatee Chand

Follow

Sep 12, 2019 – 5 min read

最も人気のある頻繁に聞かれるJavaインタビューの質問の1つです。 “Given an integer x, write a java program to find the square root of it “です。 この問題を解決する方法はたくさんあります。

  1. 二乗と平方根とは

2. Javaで数を二乗する方法

  • 数を自分で掛け算する
  • Math.pow関数を使用する

3. Javaで数値の平方根を求める方法

  • java.lang.Math.sqrt()メソッドを使用する
  • Math.pow()関数を使用する
  • 内蔵関数を使用しない

Javaでの平方根のコードについて説明する前に、まず平方根という言葉を理解しましょう。 言い換えれば、整数に自分自身を乗じるとき、その積をその数値の2乗と呼びます。 数学的には、数の平方は次のように与えられます。 数nの平方根とは、それ自体を掛けたときにnを与える数のことです。 数学的には、数の平方根は次のように与えられます。

Square Root of n = √ n

数の平方と平方根の意味がわかったところで、Javaでそれらを計算するさまざまな方法を見てみましょう。

Javaで数値を平方するには、次の2つの方法があります。

  1. 数値を自分で乗算する
  2. Math.pow関数を呼び出す

方法1:数値を自分で乗算して平方する

以下は、数値を自分で乗算して平方するJavaプログラムです。

package MyPackage;
import java.util.Scanner;
public class Square1 {
public static void main(String args) {
Double num;
Scanner sc= new Scanner(System.in);
System.out.print("Enter a number: ");
num=sc.nextDouble();
Double square = num*num;
System.out.println("Square of "+ num + " is: "+ square);
}
}

出力

Enter a number: 10 Square of 10.0 is: 100.0

方法2:Math.powメソッドで数字を二乗する

以下は、Math.powメソッドを呼び出して数字を二乗するJavaプログラムです。

package MyPackage;
import java.util.Scanner;
import java.lang.Math;
public class Square2 {
public static void main(String args) {
Double num;
Scanner sc= new Scanner(System.in);
System.out.print("Enter a number: ");
num = sc.nextDouble();
Double square = Math.pow(num, 2);
System.out.println("Square of "+ num + " is: "+ square);
}
}

出力

Enter a number: 22 
Square of 22.0 is: 484.0

では、Javaで数の平方根を計算する方法を見てみましょう。

How to Find Square Root of a Number in Java

Javaで与えられた数の平方根を求める方法は複数あります。

方法1: java.lang.Math.sqrt()メソッドを使用して数の平方根を求めるJavaプログラム

Javaで与えられた数の平方根を求める方法は複数ありますが、そのうちのいくつかを紹介します。sqrt()メソッド

Syntax
public static double sqrt(double x)

  1. Parameter: xは平方根が返される値です

2.戻り値。 このメソッドは、渡された引数の平方根の値を返します。

  • パラメータ x が正の double 値の場合、このメソッドは x の平方根を返します
  • x が NaN または 0 より小さい場合、このメソッドは NaN を返します
  • パラメータ x が正の無限大の場合、このメソッドは正の無限大を返します。
  • xが正または負のゼロの場合、このメソッドは結果を同じ符号のゼロとして返します

コード

package MyPackage;
public class SquareRoot2
{
public static void main(String args)
{
double a = 100;
System.out.println(Math.sqrt(a));
// Input positive value, Output square root of x
double b = -81.00;
System.out.println(Math.sqrt(b));
// Input negative value, Output NaN
double c = 0.0/0;
// Input NaN, Output NaN
System.out.println(Math.sqrt(c));
double d = 1.0/0;
// Input positive infinity, Output positive infinity
System.out.println(Math.sqrt(d));
double e = 0.0;
// Input positive Zero, Output positive zero
System.out.println(Math.sqrt(e));
}
}

出力

10.0
NaN
NaN
Infinity
0.0

Method 2: java.lang.Math.pow()メソッドを使って、数値の平方根を求めるJavaプログラム。lang.Math.pow()メソッドを使って数の平方根を求めるJavaプログラム

√number = number½というロジックを使って数の平方根を求めることができます。

コード

package MyPackage;
import java.util.Scanner;
public class SquareRoot1 {
public static void main(String args)
{
Double num;
Scanner sc= new Scanner(System.in);
System.out.print("Enter a number: ");
num = sc.nextDouble();
Double squareroot = Math.pow(num, 0.5);
System.out.println("The Square of a Given Number " + num + " = " + squareroot);
}
}

出力

Enter a number: 81
The Square of a Given Number 81.0 = 9.0

方法3:内蔵のメソッドを使わずに数の平方根を求めるJavaプログラム

使用しているロジックは以下のとおりです。

div

最初のsqrt数は、入力された数値÷2になるはずです。 上記のロジックを実装したJavaプログラムを紹介します。

コード

package MyPackage;
public class SquareRoot
{
public static double square(double number){
double t;
double squareroot = number / 2;
do
{
t = squareroot;
squareroot = (t + (number / t)) / 2;
}
while ((t - squareroot) != 0);
return squareroot;
}
public static void main(String args)
{
double number = 16;
double root;
root = square(number);
System.out.println("Number : "+number);
System.out.println("Square Root : "+root);
}
}

出力

Number : 121.0 
Square Root : 11.0

これでこの記事は終わりです。

できるだけ多くの練習をして、経験を元に戻してください。

人工知能、DevOps、Ethical Hackingなど、市場で最も注目されている技術に関する記事をもっとチェックしたい方は、Edurekaの公式サイトを参照してみてください。 オブジェクト指向プログラミング

2.Javaチュートリアル

3.Javaのポリモーフィズム

4.Javaの抽象化

5. Java String

6. Java Array

7. Java Collections

8. Java Threads

9. Javaサーブレット入門

10. サーブレットとJSPのチュートリアル

11. Javaでの例外処理

12. Java上級者向けチュートリアル

13. Javaのインタビュー質問

14. Javaプログラム

15. Kotlin vs Java

16. Dependency Injection Using Spring Boot

17. Comparable in Java

18. Javaフレームワークのトップ10

19. JavaのReflection API

20. Top 30 Patterns in Java

21. Core Java Cheat Sheet

22. Socket Programming In Java

23. Java OOPチートシート

24. Javaでアノテーション

25. Javaで図書館管理システムプロジェクト

26. Javaでツリー

27. Javaで機械学習

28. Top Data Structures & Algorithms in Java

29. Java開発者のスキル

30. Top 55 Servlet Interview Questions

31. トップJavaプロジェクト

32. Java Strings Cheat Sheet

33. Javaのネストされたクラス

34. Java Collections Interview Questions and Answers

35. Javaでデッドロックを処理する方法

36. Top 50 Java Collections Interview Questions You Need to Know

37. Javaでの文字列プールの概念とは

38. C、C++、Javaの違いは何ですか?

39. JavaでのPalindrome-数値や文字列をチェックする方法は?

40. Top MVC Interview Questions and Answers You Need to Know

41. Top 10 Applications of Java Programming Language

42. Javaでのデッドロック

43. Javaでの二乗と平方根

44. Javaでの型付け

45. Javaでの演算子とその型

46. Javaでのデストラクタ

47. Javaでのバイナリ検索

48. JavaでのMVCアーキテクチャ

49. Hibernate Interview Questions and Answers

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です