結果
問題 |
No.36 素数が嫌い!
|
ユーザー |
![]() |
提出日時 | 2021-02-21 16:43:15 |
言語 | C++17(clang) (17.0.6 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 100 ms / 5,000 ms |
コード長 | 1,220 bytes |
コンパイル時間 | 1,499 ms |
コンパイル使用メモリ | 142,508 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-19 14:44:22 |
合計ジャッジ時間 | 2,721 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
ソースコード
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<algorithm> #include<vector> #include<math.h> #include<iomanip> #include<stack> #include<queue> #include<set> #include<map> using namespace std; typedef long long ll; typedef unsigned long long ull; typedef long double ld; //const ll mod = 1000000007; const ll mod = 998244353; const ld pi = 3.14159265358979; ll gcd(ll a , ll b){ if(a < b)swap(a , b); if(b == 0)return 1; if(a % b == 0)return b; else return gcd(b , a % b); } bool isPrime(ll x){ if(x == 2 || x == 3 || x == 5 || x == 7){ return true; } for(int i = 3; i * i <= x; i++){ if(x % i == 0)return false; } return true; } /* vector<int> divisor(ll x){ vector<int> ret; ll n = x; for(int i = 2; i * i <= x; i++){ while(n % i == 0){ ret.push_back(i); n /= i; } } if(n > 1)ret.push_back(n); return ret; } */ int main(){ cin.tie(0); ios::sync_with_stdio(false); //cout << fixed << setprecision(15); ll n; cin >> n; vector<int> ret; for(ll i = 2; i * i <= n; i++){ while(n % i == 0){ ret.push_back(i); n /= i; } } if(n > 1)ret.push_back(n); if(ret.size() >= 3)cout << "YES" << endl; else cout << "NO" << endl; return 0; }