728x90
#include<iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int m, n;
cin >>m >> n;
int cnt = 0;
int max=0;
int min = -1;
for (int i = m;i <= n;i++) {
for (int j = 1; j <= i; j++) {
if (i % j == 0)
cnt++;
}
if (cnt == 2) {
if (min == -1)
min = i;
max += i;
}
cnt = 0;
}
if (min == -1)
cout << -1 << '\n';
else
cout << max << '\n' << min << '\n';
}
여러 블로그를 보았는데 이분이 제일 코드도 깔끔하고 간략하게 설명을 잘 해주셨다.
https://codesyun.tistory.com/64?category=966171
소수를 구하는 문제는 숫자를 자신보다 작거나 같은수소 나누었을 때 나머지가 0이 2개만 존재하면 조건이 성립된다.
for (int i = m;i <= n;i++) {
for (int j = 1; j <= i; j++) {
if (i % j == 0)
cnt++;
}
if (cnt == 2) {
cout<<i;
}
cnt = 0;
}
m부터 n까지의 소수를 나타내는 코드이다.
첨엔 못풀겠었는데 생각하는법을 점점 늘려가는 기분이다.
728x90
'알고리즘 연습' 카테고리의 다른 글
C++ 4948 베르트랑 공준 (0) | 2021.09.27 |
---|---|
C++ 11653 소인수분해 (0) | 2021.09.27 |
C++ 피보나치 수열 (0) | 2021.09.27 |
C++ 2839 설탕배달 (0) | 2021.09.27 |
C++ 2292 벌집 (0) | 2021.09.25 |