[백준] 1929번 소수 구하기 C++ 문제 풀이 수학 2
2020. 2. 18. 12:24ㆍ알고리즘/백준
728x90
반응형
문제
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000)
출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
예제 입력 1
3 16
예제 출력 1
3
5
7
11
13
문제 풀이
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int M, N, root;
cin>>M>>N;
for(int i=M; i<=N; i++){
root = sqrt(i);
if(root == 1 && i != 1){
cout<<i<<'\n';
continue;
}
if(i%2){
for(int j=2; j<=root; j++){
if(!(i%j))
break;
if(j == root){
cout<<i<<'\n';
}
}
}
}
}
이것도 이전 문제와 달리질 게 많이 없습니다.
소수의 합과 최솟값을 출력하던 것을 소수일 시에 출력하도록 수정하여 제출하면 정답이 됩니다.
출처 : https://www.acmicpc.net/problem/1929
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 9020번 골드바흐의 추측 C++ 문제 풀이 수학 2 (0) | 2020.02.24 |
---|---|
[백준] 4948번 베르트랑 공준 C++ 문제 풀이 수학 2 (0) | 2020.02.19 |
[백준] 2581번 소수 C++ 문제 풀이 수학 2 (0) | 2020.02.17 |
[백준] 1978번 소수 찾기 C++ 문제 풀이 수학 2 (0) | 2020.02.11 |
[백준] 1011번 Fly me to the Alpha Centauri C++ 문제 풀이 수학 1 (0) | 2020.01.30 |