백준 단계별로 풀어보기 [기본수학 2] 소수
https://www.acmicpc.net/problem/2581
[풀이]
소수는 1과 자기자신으로만 나누어지는 수. 따라서 2~m/2까지의 수에 대하여 나누어떨어지는 수가 있으면 소수가 아니다.
[코드]
#include <iostream>
int main() {
int m, n, sum = 0;
std::cin >> m;
std::cin >> n;
int least = 10001, check = 1;
if (m == 1) m++;
for (; m <= n; m++) {
for (int i = 2; i <= m / 2; i++) {
if (m % i == 0) {
check = 0;
break;
}
else check = 1;
}
if (check) {
sum += m;
if (least > m) least = m;
}
}
if (sum == 0) std::cout << "-1";
else {
std::cout << sum << std::endl;
std::cout << least;
}
}
'알고리즘 공부 및 문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[c++] 백준 1085 직사각형에서 탈출 (0) | 2021.07.12 |
---|---|
[c++] 백준 4948 베르트랑 공준 (0) | 2021.07.11 |
[c++] 백준 1712 손익분기점 (0) | 2021.07.09 |
[c++] 백준 10872 팩토리얼 (0) | 2021.07.09 |
[c++] 백준 2839 설탕 배달 (0) | 2021.07.07 |