結果

問題 No.955 ax^2+bx+c=0
ユーザー C_nena_E
提出日時 2020-01-18 09:55:48
言語 Java
(openjdk 23)
結果
WA  
実行時間 -
コード長 1,904 bytes
コンパイル時間 2,101 ms
コンパイル使用メモリ 77,656 KB
実行使用メモリ 42,096 KB
最終ジャッジ日時 2024-06-27 01:58:25
合計ジャッジ時間 21,675 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 91 WA * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.*;
import java.io.*;
import java.math.*;

public class Main {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        double a = sc.nextDouble();
        double b = sc.nextDouble();
        double c = sc.nextDouble();
        if(a == 0 && b == 0 && c == 0){
            System.out.println(-1);
            return;
        }else if(a == 0 && b == 0){
            System.out.println(0);
            return;
        }else if((a == 0 && c == 0) || (b == 0 && c == 0)){
            System.out.println(1);
            System.out.println(0);
            return;
        }else if(a == 0){
            System.out.println(1);
            System.out.println(-c/b);
            return;
        }else if(b == 0){
            if(c > 0){
                System.out.println(0);
            }else{
                System.out.println(2);
                double ans = Math.pow(-c,0.5);
                System.out.println(-ans);
                System.out.println(ans);
            }
            return;
        }else if(c == 0){
            System.out.println(2);
            if(b < 0){
                System.out.println(0);
                System.out.println(-b);
            }else{
                System.out.println(-b);
                System.out.println(0);
            }
            return;
        }
        double chk = b*b - (4*a*c);

        if(chk < 0){
            System.out.println(0);
        }else if(chk == 0){
            System.out.println(1);
            System.out.println(-b/(2*a));
        }else{
            System.out.println(2);
            double[] ans = new double[2];
            ans[0] = (-b-Math.pow(chk,0.5))/(2*a);
            ans[1] = (-b+Math.pow(chk,0.5))/(2*a);
            Arrays.sort(ans);
            for(int i = 0; i < 2; i++){
                System.out.println(ans[i]);
            }
        }
    }
}

0