結果

問題 No.106 素数が嫌い!2
ユーザー bal4u
提出日時 2019-04-12 13:10:50
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 29 ms / 5,000 ms
コード長 761 bytes
コンパイル時間 216 ms
コンパイル使用メモリ 30,208 KB
実行使用メモリ 11,644 KB
最終ジャッジ日時 2024-09-14 00:24:47
合計ジャッジ時間 1,352 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #

// yukicoder: No.106 素数が嫌い!2
// 2019.4.12 bal4u
// Catalan(カタラン数)の計算
// c_0 = 1, c_n = c_n-1*2*(2n-1)/(n+1)

#include <stdio.h>

#include <stdio.h>
#include <ctype.h>

#define MAX  2000000
#define SQRT 1414
char notPrime[MAX+5] = { 1,1,0,0,1 };			// zero: if prime
int factor[MAX+5];

void sieve()
{
	int i, j;
	for (i = 3; i <= SQRT; i += 2) if (!notPrime[i]) {
		for (j = i * i; j <= MAX; j += i) notPrime[j] = 1;
	}
	for (i = 2; i <= MAX; i += 2) factor[i] = 1;
	for (i = 3; i <= MAX; i += 2) if (!notPrime[i]) {
		for (j = i; j <= MAX; j += i) factor[j]++;
	}
}

int main()
{
	int i, N, K, ans;
	sieve();
	scanf("%d%d", &N, &K);
	ans = 0; for (i = 2; i <= N; i++) if (factor[i] >= K) ans++;
	printf("%d\n", ans);
	return 0;
}
0