CodeUp

CodeUP 4566: 소수

E.W.I 2021. 8. 2. 22:37
반응형

https://codeup.kr/problem.php?id=4566&rid=0 

 

소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최소값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

codeup.kr

 

[문제 풀이]

 

1. 조건에서 m부터 n까지의 소수를 찾는다고 나와있으므로 for문의 조건을 완성시킵니다.

2. 소수를 찾기 위해 cnt변수를 설정하고 1부터 i까지의 이중 for문을 하나 만듭니다.

3. 만약 자기 자신과 1로 나누어 떨어지면 소수이므로 

4. 소수를 모두 더하는 sum변수에 더해줍니다.

5. 소수의 최소값을 찾기 위해 min=100001을 이용하여 찾아줍니다.

 

 

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    int m, n;
    scanf("%d %d"&m, &n);
    int sum = 0,min=100001;
    
    for (int i = m; i <= n; i++)
    {
        int cnt = 0;
        for (int j = 1; j <= i; j++)
        {
            if (i % j == 0)
            {
                cnt++;
            }
        }
        if (cnt == 2)
        {
            sum += i;
            if (i < min)
            {
                min = i;
            }
        }
    }
 
    printf("%d\n%d", sum, min);
    return 0;
}
cs

 

 

 

'CodeUp' 카테고리의 다른 글

CodeUp 4592: 색종이1  (0) 2021.08.03
CodeUp 4051: 시간외 근무 수당  (0) 2021.07.25
CodeUp 4016: 세 수의 최대공약수 구하기  (0) 2021.07.24
CodeUp 4013 : 진법 변환  (0) 2021.07.24