結果

問題 No.3023 素数判定するだけ
ユーザー autumn_eel
提出日時 2017-03-31 23:54:12
言語 C++14
(gcc 8.2.0)
結果
AC  
実行時間 3 ms
コード長 398 Byte
コンパイル時間 804 ms
使用メモリ 1,288 KB
最終ジャッジ日時 2018-09-25 16:12:50

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
99_system_test1.txt AC 2 ms
1,284 KB
99_system_test2.txt AC 3 ms
1,288 KB
gen_case1.txt AC 3 ms
1,284 KB
gen_case2.txt AC 2 ms
1,288 KB
gen_case3.txt AC 2 ms
1,288 KB
gen_case4.txt AC 3 ms
1,288 KB
gen_case5.txt AC 2 ms
1,284 KB
gen_case6.txt AC 2 ms
1,284 KB
gen_case7.txt AC 3 ms
1,288 KB
gen_case8.txt AC 2 ms
1,284 KB
gen_case9.txt AC 2 ms
1,280 KB
gen_case10.txt AC 2 ms
1,288 KB
gen_case11.txt AC 3 ms
1,284 KB
gen_case12.txt AC 2 ms
1,284 KB
gen_case13.txt AC 3 ms
1,284 KB
gen_case14.txt AC 3 ms
1,284 KB
gen_case15.txt AC 2 ms
1,284 KB
gen_case16.txt AC 2 ms
1,284 KB
gen_case17.txt AC 2 ms
1,288 KB
gen_case18.txt AC 3 ms
1,284 KB
gen_case19.txt AC 2 ms
1,284 KB
gen_case20.txt AC 2 ms
1,284 KB
system_test1.txt AC 2 ms
1,288 KB
system_test2.txt AC 3 ms
1,284 KB
system_test3.txt AC 2 ms
1,288 KB
テストケース一括ダウンロード

ソースコード

diff #
#include<stdio.h>
#include<math.h>
using namespace std;

int one;
int add(int a, int b) {
	while (b) {
		int c = (a&b) << one;
		a ^= b;
		b = c;
	}
	return a;
}
bool ok(int n) {
	for (int i = (one << one); i <= sqrt(n); i = add(i, one)) {
		if (!(n%i))return false;
	}
	return true;
}
int main() {
	one = !one;
	int n; scanf("%d", &n);
	if (n == one)puts("NO");
	else puts(ok(n) ? "YES" : "NO");
}
0