結果

問題 No.25 有限小数
ユーザー Mcpu3
提出日時 2019-03-19 23:34:14
言語 Java
(openjdk 23)
結果
AC  
実行時間 142 ms / 5,000 ms
コード長 725 bytes
コンパイル時間 2,249 ms
コンパイル使用メモリ 76,176 KB
実行使用メモリ 55,964 KB
最終ジャッジ日時 2024-09-14 13:46:14
合計ジャッジ時間 7,444 ms
ジャッジサーバーID
(参考情報)
judge1 / judge6
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

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);
	}
}
0