結果
| 問題 |
No.2724 Coprime Game 1
|
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2024-03-30 12:24:00 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 58 ms / 2,000 ms |
| コード長 | 642 bytes |
| コンパイル時間 | 188 ms |
| コンパイル使用メモリ | 30,208 KB |
| 実行使用メモリ | 16,512 KB |
| 最終ジャッジ日時 | 2024-10-02 22:54:09 |
| 合計ジャッジ時間 | 1,103 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 7 |
ソースコード
#include <stdio.h>
int solve(int N)
{
int i, j, k;
static char flag[3000001] = {};
static int num[3000001] = {};
if (num[2] == 0) {
for (i = 2; i <= 3000000; i++) {
if (flag[i] != 0) continue;
for (j = i * 2; j <= 3000000; j += i) flag[j] = 1;
}
for (i = 3, num[2] = 1; i <= 3000000; i++) {
num[i] = num[i-1];
if (flag[i] == 0) num[i]++;
}
}
if (flag[N] == 0) return 0;
else if ((N - 2 - (num[N] - num[N/2])) % 2 == 0) return 0;
else return 1;
}
int main()
{
int T, N;
scanf("%d", &T);
while (T--) {
scanf("%d", &N);
if (solve(N) != 0) printf("K\n");
else printf("P\n");
}
fflush(stdout);
return 0;
}