結果
問題 |
No.25 有限小数
|
ユーザー |
|
提出日時 | 2019-03-19 23:30:15 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 137 ms / 5,000 ms |
コード長 | 722 bytes |
コンパイル時間 | 2,431 ms |
コンパイル使用メモリ | 75,320 KB |
実行使用メモリ | 41,948 KB |
最終ジャッジ日時 | 2024-09-14 13:40:59 |
合計ジャッジ時間 | 7,511 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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); } }