まさかこんなの使う日が来るとは、って感じでしたが一応
累乗
Math.pow()
を使います。
引数が2個あって、Math.pow(2,2)
とすると2の2乗
になります。
第一引数が累乗したい数値、第二引数がn乗したいのか、です。
ちなみにこの問題のように、平方数を求めたいような場合、 こんな感じで使えます。
import java.util.Scanner; public class Main48 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] a = sc.nextLine().split(" "); int ab = Integer.parseInt(a[0]+a[1]); for(int i=2; i<ab; i++) { if(Math.pow(i,2) == ab) { System.out.println("Yes"); System.exit(0); } } System.out.println("No"); sc.close(); } }
平方根
Math.sqrt()
を使います。
Square Rootの略ですね。 これはdoubleを引数にぶっこめばOKです。
立方根 追記6/12
3√とかやらないといけないときはCube Squareと呼ばれる立方根も求めるメソッドまではあります。
Math.cbrt()
です。
じゃあ、4√、5√、、、n√はどうやって計算すんだ?
と疑問に思ったのですが、ニュートン法を理解しないとその先は大変そうだったので、とりあえず今回はこれで..
小数点の出力
String.format()
を使うのが楽そうだった。
%.3f
の3は何桁出力されるかです。
ちなみに最終桁(例でいうと小数点4桁目:3
は四捨五入されます。
例えば0.121712423
とかにしたら0.122
と出力されます。
public class FloatOutput { public static void main(String[] args) { double a = 0.121312423; System.out.println(String.format("%.3f", a)); } }
0.121