HDOJ(HDU)1407 LTCと同じレベルかどうかをテストします(暴力)

1765 ワード

Problem DescriptionはLTCに感心してはいけませんが、もし試合がこのテーマしかないなら、私はあなたと彼が絶対に水平線にいることを保証します!あなたの任務は:方程式x^2+y^2+z^2=numの正の整数解を計算することです.
Input入力データは複数のテストインスタンスを含み、各インスタンスは1行を占め、10000以下の正の整数numのみを含む.
Outputは各テストデータのセットについて、x,y,zの増加順にその最小正の整数解を出力してください.各インスタンスの出力は1行を占めています.問題はすべてのテストデータに解があることを保証します.
Sample Input 3
Sample Output 1 1 1
水問題!説明しない.
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int num = sc.nextInt();
            amin:for(int x=1;x*x<=num;x++){
                    for(int y=x;y*y<=num;y++){
                        for(int z=y;z*z<=num;z++){
                            if(x*x+y*y+z*z==num){
                                System.out.println(x+" "+y+" "+z);
                                break amin;
                            }
                        }
                    }
                }
        }
    }
}