結果
| 問題 |
No.8023 素数判定するだけ
|
| コンテスト | |
| ユーザー |
assy1028
|
| 提出日時 | 2017-11-01 12:34:05 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 1,000 ms |
| コード長 | 559 bytes |
| コンパイル時間 | 527 ms |
| コンパイル使用メモリ | 63,232 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-22 14:31:28 |
| 合計ジャッジ時間 | 4,431 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 25 |
ソースコード
#include <iostream>
using namespace std;
int n;
int zero = false, one = true, two = (one << true);
int inc(int i) {
int k = one;
if (!(i & k)) return i | k;
while (i & k) {
i ^= k;
k <<= one;
}
i ^= k;
return i;
}
bool solve() {
if (n == one) return false;
if (n == two) return true;
for (int i = two; i < n; i = inc(i)) {
if (n % i == zero)
return false;
}
return true;
}
void input() {
cin >> n;
}
int main() {
input();
cout << (solve()?"YES":"NO") << endl;
}
assy1028