結果
| 問題 |
No.25 有限小数
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-03-19 23:35:34 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 138 ms / 5,000 ms |
| コード長 | 724 bytes |
| コンパイル時間 | 2,254 ms |
| コンパイル使用メモリ | 75,680 KB |
| 実行使用メモリ | 41,584 KB |
| 最終ジャッジ日時 | 2024-09-14 13:47:59 |
| 合計ジャッジ時間 | 7,648 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 |
ソースコード
import java.math.BigDecimal;
import java.util.Scanner;
class Main {
static long gcd(long a, long b) {
return b != 0 ? gcd(b, a % b) : a;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long N = sc.nextLong(), M = sc.nextLong();
sc.close();
long tmp1 = gcd(N, M);
N /= tmp1;
M /= tmp1;
tmp1 = M;
while (tmp1 % 2 == 0) tmp1 /= 2;
while (tmp1 % 5 == 0) tmp1 /= 5;
if (tmp1 == 1) {
BigDecimal tmp2 = new BigDecimal(N), tmp3 = new BigDecimal(M);
String tmp4 = tmp2.divide(tmp3).toPlainString();
int i = tmp4.length() - 1;
while (tmp4.charAt(i) == '0') --i;
System.out.print(tmp4.charAt(i));
}
else System.out.print(-1);
}
}