VioletaBabel
1929번: 소수 구하기 본문
#include <iostream>
using namespace std;
int main()
{
int a, b;
bool num[1000001];
cin >> a >> b;
num[1] = 0;
for (int i = 2; i <= b; ++i)
num[i] = 1;
for (int i = 2; i*i <= b; ++i)
{
if (num[i] == 1)
for (int j = i * i; j <= b; j += i)
num[j] = 0;
}
for (int i = a; i <= b; ++i)
if (num[i] == 1)
cout << i << endl;
}
======================
#include <cstdio>
using namespace std;
int main()
{
int a, b;
bool num[1000001];
scanf("%d %d", &a, &b);
if (a > 2 && a % 2 == 0)
++a;
if (b > 2 && b % 2 == 0)
--b;
num[1] = 0; num[2] = 1;
for (int i = 3; i <= b; i += 2)
num[i] = 1;
for (int i = 3; i*i <= b; i += 2)
{
if (num[i] == 1)
for (int j = i * i; j <= b; j += i*2)
num[j] = 0;
}
for (int i = a; i <= b; i += 2)
{
if (i < 3)
{
printf("%d\n", 2);
i = 3;
}
if (num[i] == 1)
printf("%d\n", i);
}
}
'백준 > 백준-C++' 카테고리의 다른 글
2960번: 에라토스테네스의 체 (0) | 2017.05.27 |
---|---|
5054번: 주차의 신 (0) | 2017.05.26 |
1978번: 소수 찾기 (0) | 2017.05.26 |
10866번: 덱 (0) | 2017.05.26 |
11004번: K번째 수 (0) | 2017.05.26 |