<소스코드>
#include <iostream>
using namespace std;
int main(){
int M, N;
cin >> M >> N;
int sum = 0;
int min = N+1;
for(int i = M; i <= N; i++){
bool check = true;
if(i == 1){
check = false;
continue;
}
for(int j = 2; j < i; j++){
if(i%j == 0){
check = false;
break;
}
}
if(check == true){
sum += i;
if(min > i) {min = i;}
}
}
if(sum == 0) {cout << -1 << endl;}
else{cout << sum << endl << min << endl;}
return 0;
}
- 변수
int M, N : 입력받은 수
int sum : 소수의 합
int min : 소수의 최솟값
- 알고리즘
1) 소수찾기와 알고리즘이 같다.
2) 소수를 sum값에 더해주고, min값을 정해준다.
3) 만약 sum=0이라면 소수가 없다는 뜻이기에 -1을 출력해준다.
- 배운점
continue : 반복문에서 다음 순번으로 넘어감
break : 반복문 탈출
- 아쉬운점&느낀점
여기까지도 시간초과가 안나서 의식의 흐름대로 코드를 짜도 문제가 없었다.