結果

問題 No.8023 素数判定するだけ
コンテスト
ユーザー IL_msta
提出日時 2017-04-01 01:03:40
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 1 ms / 1,000 ms
コード長 460 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 329 ms
コンパイル使用メモリ 71,412 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-04-20 13:40:45
合計ジャッジ時間 2,861 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include<iostream>
using namespace::std;
int add(int A,int B){
	int one = (A==A);
	while(B){
		int C = (A&B) << one;
		A ^= B;
		B = C;
	}
	return A;
}
int main(void){
	int N;
	std::cin >> N;
	int zero = N^N;
	int one = (zero==zero);
	int two = add(one,one);
	if( N == one ){
		cout << "NO" << endl;
		return zero;
	}
	for(int i=two;i<N;i=add(i,one)){
		if( N%i == zero ){
			cout << "NO" << endl;
			return zero;
		}
	}
	cout << "YES" << endl;
	return zero;
}
0