結果
問題 | No.843 Triple Primes |
ユーザー |
![]() |
提出日時 | 2019-06-29 06:12:25 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 572 bytes |
コンパイル時間 | 1,115 ms |
コンパイル使用メモリ | 30,336 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-19 14:10:19 |
合計ジャッジ時間 | 1,699 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 42 |
ソースコード
// yukicoder: No.843 Triple Primes // 2019.6.29 bal4u #include <stdio.h> #include <math.h> #define MAX 1000000 #define SQRT 1000 char nop[MAX+5] = { 1,1,0,0,1 }; // zero: if prime void sieve() { int i, j; for (i = 3; i <= SQRT; i += 2) if (!nop[i]) { for (j = i * i; j <= MAX; j += i) nop[j] = 1; } } int main() { int i, b, N, ans; sieve(); scanf("%d", &N); ans = 0; if (N > 1) { b = (int)sqrt((double)(N << 1)); for (i = 3; i <= b; i += 2) if (!nop[i] && !nop[i*i-2] && i*i-2 <= N) ans++; ans <<= 1, ans++; } printf("%d\n", ans); return 0; }