結果
| 問題 |
No.955 ax^2+bx+c=0
|
| コンテスト | |
| ユーザー |
ks2m
|
| 提出日時 | 2019-12-18 00:47:54 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,802 bytes |
| コンパイル時間 | 1,875 ms |
| コンパイル使用メモリ | 83,636 KB |
| 実行使用メモリ | 51,484 KB |
| 最終ジャッジ日時 | 2024-07-07 00:01:23 |
| 合計ジャッジ時間 | 10,122 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 96 WA * 12 RE * 14 |
ソースコード
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] sa = br.readLine().split(" ");
long a = Integer.parseInt(sa[0]);
long b = Integer.parseInt(sa[1]);
long c = Integer.parseInt(sa[2]);
br.close();
if (a == 0) {
if (b == 0) {
if (c == 0) {
System.out.println(-1);
} else {
System.out.println(0);
}
} else {
System.out.println(1);
System.out.println((double) -c / b);
}
} else if (b * b == 4 * a * c) {
System.out.println(1);
System.out.println((double) -b / 2 / a);
} else if (b * b > 4 * a * c) {
long d = b * b - 4 * a * c;
BigDecimal bd = BigDecimal.valueOf(d);
BigDecimal sq = BigDecimal.valueOf((long) Math.sqrt(d));
StringBuilder sb = new StringBuilder("0.");
for (int i = 0; i < 20; i++) {
for (int j = 0; j < 10; j++) {
BigDecimal v = new BigDecimal(sb.toString() + "1");
BigDecimal tmp = sq.add(v);
tmp = tmp.multiply(tmp);
if (tmp.compareTo(bd) > 0) {
break;
}
sq = sq.add(v);
}
sb.append("0");
}
System.out.println(2);
BigDecimal ba = BigDecimal.valueOf(a);
BigDecimal two = BigDecimal.valueOf(2);
BigDecimal mb = BigDecimal.valueOf(b).negate();
BigDecimal ans1 = mb.subtract(sq).divide(two).divide(ba);
BigDecimal ans2 = mb.add(sq).divide(two).divide(ba);
if (ans1.compareTo(ans2) < 0) {
System.out.println(ans1.toPlainString());
System.out.println(ans2.toPlainString());
} else {
System.out.println(ans2.toPlainString());
System.out.println(ans1.toPlainString());
}
} else {
System.out.println(0);
}
}
}
ks2m