728x90
1) 주석 없는 VERSION
#include <stdio.h>
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int find(int n) {
if (n <= 1) {
return false;
}
for (int i = 2;i <= sqrt(n);i++) {
if ((n % i) == 0) {
return false;
}
}
return true;
}
int main() {
int m, n;
cin >> m >> n;
int answer = 0;
int min = m;
while (m <= n) {
if (find(m)) {
min = m;
break;
}
m++;
}
while(m<=n) {
if (find(m)) {
answer += m;
}
m++;
}
if (answer == 0) {
cout << "-1";
}
else {
cout << answer << "\n" << min;
}
}
2) 주석 있는 VERSION
#include <stdio.h>
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
//에라토스테네스의 소수 필요 충분조건은 그 숫자가 2보다 크면서
//자기 자신의 제곱근까지의 수에 나눠지지 않는 수
int find(int n) {
if (n <= 1) {
return false;
}
for (int i = 2;i <= sqrt(n);i++) {
if ((n % i) == 0) {
return false;
}
}
return true;
}
int main() {
int m, n;
cin >> m >> n;
int answer = 0;
int min = m;
// for 문으로 돌릴 경우 시간 초과 이므로 while 문으로 할 것
while (m <= n) {
if (find(m)) {
min = m;
break;
}
m++;
}
while(m<=n) {
if (find(m)) {
answer += m;
}
m++;
}
//소수가 없을 경우 -1 출력
if (answer == 0) {
cout << "-1";
}
else {
cout << answer << "\n" << min;
}
}
'BEAKJOON' 카테고리의 다른 글
백준(1929번 소수구하기)풀이 C++ (0) | 2021.01.13 |
---|---|
백준(11653번 소인수분해)풀이 C++ (0) | 2021.01.13 |
백준(1978번 소수 찾기)풀이 C++ (0) | 2021.01.13 |
백준(1011번 Fly me to the Alpha Centauri)풀이 C++ (0) | 2021.01.13 |
백준(10757번 큰 수 A+B)풀이 C++ (0) | 2021.01.13 |