結果

問題 No.25 有限小数
ユーザー htensai
提出日時 2020-01-15 09:13:26
言語 Java11
(openjdk 11.0.5)
結果
TLE  
実行時間 -
コード長 964 Byte
コンパイル時間 2,344 ms
使用メモリ 428,048 KB
最終ジャッジ日時 2020-01-15 09:13:39

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
01.txt AC 120 ms
35,600 KB
02.txt AC 124 ms
34,220 KB
03.txt AC 120 ms
34,136 KB
04.txt AC 124 ms
34,052 KB
05.txt AC 120 ms
34,192 KB
06.txt AC 124 ms
33,896 KB
07.txt AC 120 ms
34,008 KB
08.txt AC 124 ms
34,228 KB
09.txt AC 120 ms
34,016 KB
10.txt AC 120 ms
34,220 KB
11.txt AC 124 ms
34,200 KB
12.txt AC 124 ms
33,936 KB
13.txt AC 120 ms
34,116 KB
14.txt AC 120 ms
34,100 KB
15.txt AC 120 ms
33,852 KB
16.txt AC 124 ms
34,040 KB
17.txt AC 120 ms
33,888 KB
18.txt AC 124 ms
33,888 KB
19.txt AC 124 ms
33,900 KB
20.txt TLE -
challenge01.txt -- -
challenge02.txt -- -
challenge03.txt -- -
challenge04.txt -- -
challenge05.txt -- -
system_test1.txt -- -
system_test2.txt -- -
system_test3.txt -- -
system_test4.txt -- -
system_test5.txt -- -
system_test6.txt -- -
テストケース一括ダウンロード

ソースコード

diff #
import java.util.*;
import java.math.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        BigInteger n = new BigInteger(sc.next());
        BigInteger m = new BigInteger(sc.next());
        HashSet<BigInteger> set = new HashSet<>();
        while (true) {
            BigInteger mod = n.mod(m);
            if (mod.equals(BigInteger.ZERO)) {
                System.out.println(getLastNum(n.divide(m)));
                return;
            }
            n = mod;
            if (set.contains(n)) {
                System.out.println(-1);
                return;
            }
            set.add(n);
            n = n.multiply(BigInteger.TEN);
        }
    }
    
    static long getLastNum(BigInteger b) {
        long x = b.longValue();
        while (x > 0) {
            if (x % 10 != 0) {
                return x % 10;
            }
            x /= 10;
        }
        return 0;
    }
}
0