結果

問題 No.8023 素数判定するだけ
ユーザー pekempeypekempey
提出日時 2017-03-31 22:48:15
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 474 bytes
コンパイル時間 587 ms
コンパイル使用メモリ 73,620 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-10-04 19:56:14
合計ジャッジ時間 3,882 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <map>
#include <string>
#include <climits>

using namespace std;

int zero = 'a' ^ 'a';
int one = 'c' ^ 'b';

bool foo(int n, int k) {
	if (n == one) return false;
	if (k > SHRT_MAX) return true;
	if (k != one && k < n && n % k == zero) {
		return false;
	}
	return foo(n, k << one ^ zero) && foo(n, k << one ^ one);
}

int main() {
	int n;
	cin >> n;
	puts(foo(n, one) ? "YES" : "NO");
}
0