Algorithm/BOJ
백준 1929번 C++
poopooreum
2023. 8. 3. 18:44
반응형
백준 1929번 소수 구하기
https://www.acmicpc.net/problem/1929
1929번: 소수 구하기
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
www.acmicpc.net


정답 코드
#include<iostream>
using namespace std;
int a, b;
int arr[1000001] = { 1,1,0 };
void find(int a, int b);
int main() {
cin >> a >> b;
find(a, b);
}
void find(int a, int b) {
for (int x = 2; x < 1000001/x; x++) {
if (arr[x] == 1)
continue;
for (int y = x *x; y <1000001; y += x)
if(y%x==0)
arr[y] = 1;
}
for (int x = a; x <= b; x++) {
if (arr[x] == 0)
cout << x << "\n";
}
}
문제 풀이
에라토스테네스의 체를 이용해서 푸는 문제입니다.
반응형