[λ°±μ€/C++] 2581λ² : μμ
λ¬Έμ
μμ°μ Mκ³Ό Nμ΄ μ£Όμ΄μ§ λ Mμ΄μ Nμ΄νμ μμ°μ μ€ μμμΈ κ²μ λͺ¨λ κ³¨λΌ μ΄λ€ μμμ ν©κ³Ό μ΅μκ°μ μ°Ύλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μλ₯Ό λ€μ΄ M=60, N=100μΈ κ²½μ° 60μ΄μ 100μ΄νμ μμ°μ μ€ μμλ 61, 67, 71, 73, 79, 83, 89, 97 μ΄ 8κ°κ° μμΌλ―λ‘, μ΄λ€ μμμ ν©μ 620μ΄κ³ , μ΅μκ°μ 61μ΄ λλ€.
μ λ ₯
μ λ ₯μ 첫째 μ€μ Mμ΄, λμ§Έ μ€μ Nμ΄ μ£Όμ΄μ§λ€.
Mκ³Ό Nμ 10,000μ΄νμ μμ°μμ΄λ©°, Mμ Nλ³΄λ€ μκ±°λ κ°λ€.
μΆλ ₯
Mμ΄μ Nμ΄νμ μμ°μ μ€ μμμΈ κ²μ λͺ¨λ μ°Ύμ 첫째 μ€μ κ·Έ ν©μ, λμ§Έ μ€μ κ·Έ μ€ μ΅μκ°μ μΆλ ₯νλ€.
λ¨, Mμ΄μ Nμ΄νμ μμ°μ μ€ μμκ° μμ κ²½μ°λ 첫째 μ€μ -1μ μΆλ ₯νλ€.
νμ΄
μ§λ μμ λ¬Έμ μ λΉμ·ν λ¬Έμ λ€!
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int M, N, sum=0, min=10000;
bool isPrime = true;
cin >> M >> N;
for (int i=M; i<=N; i++){
// 1μΈ κ²½μ°
if (i==1){
isPrime = false;
}
else{
for (int j=2; j<=sqrt(i); j++){
if (i%j==0){
isPrime = false;
break;
}
}
}
// μμμΈ κ²½μ°
if (isPrime == true){
if (min > i){
min = i;
}
sum += i;
}
isPrime = true;
}
if (sum == 0)
cout << -1 << endl;
else{
cout << sum << endl;
cout << min << endl;
}
}
iλ₯Ό μΈ μ리μ μκΎΈ Mμ λ£μ΄μ μ λμκ°λ λ¬Έμ . λ³μ μ¬μ©μ μ£Όμνμ