문제접근
•
1부터 본인까지 돌고 나눠지는 수의 개수가 2개면 소수
놓쳤던 부분
•
처음 로직의 경우, 2를 고려할 수 없었음
#include <iostream>
using namespace std;
int main(void)
{
int m,n;
int min = 10001;
int sum = 0;
bool flag = false;
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> m >> n;
for (int i = m; i <= n; i++)
{
for (int j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
flag = true;
break ;
}
}
if (!flag)
{
sum += i;
if (min > i)
min = i;
}
flag = false;
}
if (min == 10001)
cout << "-1";
else
cout << sum << "\n" << min;
return (0);
}
JavaScript
복사
코드
2020 KB
152 ms
#include <iostream>
using namespace std;
int main(void)
{
int m,n;
int min = 10001;
int sum = 0;
int count = 0;
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> m >> n;
for (int i = m; i <= n; i++)
{
for (int j = 1; j <= i; j++)
if (i % j == 0)
count++;
if (count == 2)
{
sum += i;
if (min > i)
min = i;
}
count = 0;
}
if (min == 10001)
cout << "-1";
else
cout << sum << "\n" << min;
return (0);
}
C++
복사