結果
問題 | No.1140 EXPotentiaLLL! |
ユーザー | Apass |
提出日時 | 2020-07-31 23:07:55 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 1,906 ms / 2,000 ms |
コード長 | 1,478 bytes |
コンパイル時間 | 3,620 ms |
コンパイル使用メモリ | 78,324 KB |
実行使用メモリ | 48,680 KB |
最終ジャッジ日時 | 2024-07-06 20:58:12 |
合計ジャッジ時間 | 16,805 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 12 |
ソースコード
import java.io.*; import java.util.HashSet; import java.util.StringTokenizer; public class EXPotentiaLLL { private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static final PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); private static StringTokenizer st; private static int readInt() throws IOException { while (st == null || !st.hasMoreTokens()) st = new StringTokenizer(br.readLine()); return Integer.parseInt(st.nextToken()); } private static Long readLong() throws IOException { while (st == null || !st.hasMoreTokens()) st = new StringTokenizer(br.readLine()); return Long.parseLong(st.nextToken()); } public static void main(String[] args) throws IOException { int T = readInt(); while (T-- > 0) pw.println(solve()); pw.close(); } private static int solve() throws IOException { long A = readLong(); int P = readInt(); if (isPrime(P)) return A %P == 0 ? 0 : 1; else return -1; } static boolean isPrime(int n) { if (n < 2) return false; if (n == 2 || n == 3) return true; if (n % 2 == 0 || n % 3 == 0) return false; int sqrtN = (int) Math.sqrt(n); for (int i = 6; i <= sqrtN + 1; i += 6) { if (n % (i - 1) == 0 || n % (i + 1) == 0) return false; } return true; } }