結果
問題 | No.36 素数が嫌い! |
ユーザー |
![]() |
提出日時 | 2019-01-03 14:43:01 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,770 bytes |
コンパイル時間 | 1,057 ms |
コンパイル使用メモリ | 98,416 KB |
実行使用メモリ | 13,420 KB |
最終ジャッジ日時 | 2024-11-23 21:40:07 |
合計ジャッジ時間 | 3,778 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 25 WA * 1 |
ソースコード
#include <iostream>#include <string>#include <vector>#include <set>#include <cmath>#include <stack>#include <algorithm>#include <iomanip>#include <map>#include <queue>#include <functional>#include <numeric>#include <chrono>using ll = long long;using namespace std;const ll MOD = 1e9 + 7;#define REP(i, n) for (int(i) = 0; (i) < (n); ++(i))#define repi(i, a, b) for (int i = int(a); i < int(b); ++i)// bool operator<(const pair<int, int> &a, const pair<int, int> &b)// {// if (a.first == b.first)// return a.second < b.second;// return a.first < b.first;// };/*unsigned int xor128(void){static unsigned int x = 123456789, y = 362436069, z = 521288629, w = 88675123;unsigned int t = (x ^ (x << 11));x = y;y = z;z = w;return (w = (w ^ (w >> 19)) ^ (t ^ (t >> 8)));}unsigned int xor128rnd(unsigned int m){return xor128() % m;}*/bool sieve[10000010];int main(void){ll N;cin >> N;if (N == 1){cout << "NO" << endl;return 0;}REP(i, 10000010){sieve[i] = true;}sieve[0] = sieve[1] = false;for (int i = 2; i * i < 10000010; ++i){if (sieve[i]){for (int j = 2; i * j < 10000010; ++j){sieve[i * j] = false;}}}int divp = 0;for (ll i = 2; i * i <= N; ++i){if (N % i == 0){if (sieve[i])divp++;else{cout << "YES" << endl;return 0;}}if (divp == 2){cout << "YES" << endl;return 0;}}cout << "NO" << endl;return 0;}