' P '

whatever I will forget

Java 累乗と平方根、そして立方根と...

まさかこんなの使う日が来るとは、って感じでしたが一応

累乗

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

参考文献

techacademy.jp

www.geeksforgeeks.org

techacademy.jp