-
[백준/C++] 1929번 소수 구하기개발/알고리즘 2019. 4. 25. 22:12
문제출처 : https://www.acmicpc.net/problem/1929
문제
코드
12345678910111213141516171819202122232425262728293031323334#include <bits/stdc++.h>using namespace std;int n, m;bool arr[10000001] = {0,};int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);arr[0] = 1;arr[1] = 1;cin >> n >> m;for(int i = 2; i*i <= m; i++){if(arr[i] == 0) {for(int j = i*i; j <= m; j+=i){arr[j] = 1;}}}for(int i = n; i <= m; i++){if(arr[i] == 0) {cout << i << "\n";}}return 0;}cs 해결 방법
기존의 소수를 판별하는 방법으로 풀면, 시간초과 에러가 납니다.
소수를 빠르게 판별할 수 있는, 에라스토테네스의 체를 이용하여 소수리스트를 미리 구해놓고,
주어진 최소값과 최대값에 따라 소수를 출력해야 합니다!
'개발 > 알고리즘' 카테고리의 다른 글
[백준/C++] 2108번 통계학 (0) 2019.04.26 [백준/C++] 2750번 수 정렬하기 (0) 2019.04.25 [백준/C++] 2581번 소수 (0) 2019.04.25 [백준/C++] 1978번 소수 찾기 (0) 2019.04.25 [알고리즘/프로그래머스] 해시 > 완주하지 못한 선수 (JAVA) (1) 2019.01.29