結果

問題 No.8023 素数判定するだけ
ユーザー みしあ
提出日時 2021-10-22 12:43:18
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,329 bytes
コンパイル時間 739 ms
コンパイル使用メモリ 75,836 KB
最終ジャッジ日時 2025-01-25 02:48:42
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 25
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <iostream>
#include <utility>
#include <vector>
#include <numeric>
using namespace std;
using ll = long long;
const ll t = true, f = false, tt = t << t;
ll ad(ll a, ll b){
vector<ll> tmp{a};
return accumulate(tmp.begin(), tmp.end(), b);
}
ll mn(ll a, ll b){
return ad(a, ad(~b, t));
}
template<class... Args>
ll Num(Args... args){
ll ret = f;
for(auto v : initializer_list<ll>{args...}){
ret <<= t;
ret |= v;
}
return ret;
}
ll mm(ll a, ll b){
ll ret = f;
if(a>b){
swap(a, b);
}
while(a){
if(a&t){
ret = ad(ret, b);
}
b <<= t;
a >>= t;
}
return ret;
}
ll pp(ll a, ll b){
ll x = ad(a, b);
return x;
}
bool isprime(ll N){
vector<bool> XS(N<<t, true);
XS[f] = XS[t] = f;
for(int i=tt; i<N; i=ad(i, t)){
if(!XS[i]) continue;
ll c = i;
for(ll c = i<<t; c <= N; c = ad(c, i)){
XS[c] = f;
}
}
return XS[N];
}
int main(){
ll N;
cin >> N;
if(isprime(N)){
cout << (char)Num(t,f,t,t,f,f,t);
cout << (char)Num(t,f,f,f,t,f,t);
cout << (char)Num(t,f,t,f,f,t,t);
}else{
cout << (char)Num(t,f,f,t,t,t,f);
cout << (char)Num(t,f,f,t,t,t,t);
}
cout << endl;
return f;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0