結果
問題 | No.8023 素数判定するだけ |
ユーザー |
|
提出日時 | 2017-03-31 23:54:12 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 398 bytes |
コンパイル時間 | 287 ms |
コンパイル使用メモリ | 38,400 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-04 20:11:56 |
合計ジャッジ時間 | 3,430 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 25 |
ソースコード
#include<stdio.h>#include<math.h>using namespace std;int one;int add(int a, int b) {while (b) {int c = (a&b) << one;a ^= b;b = c;}return a;}bool ok(int n) {for (int i = (one << one); i <= sqrt(n); i = add(i, one)) {if (!(n%i))return false;}return true;}int main() {one = !one;int n; scanf("%d", &n);if (n == one)puts("NO");else puts(ok(n) ? "YES" : "NO");}