728x90
20240324 백준 C언어 공부
2581번 소수
1. 문제
자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라
이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.
예를 들어 M=60, N=100인 경우
60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로,
이들 소수의 합은 620이고, 최솟값은 61이 된다.
2. 입력
입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다.
M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다.
3. 출력
M이상 N이하의 자연수 중 소수인 것을 모두 찾아
첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.
단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
>>>코드
# include <stdio.h>
int main(void){
int n, m, min, sum, cnt, flag;
scanf("%d", &n);
scanf("%d", &m);
sum = 0, cnt = 0;
for (int i = n; i <= m; i++){
flag = 1;
for (int j = 2; j<i; j++){
if (i%j == 0){
flag = 0;
break;
}
}
if (flag == 1 && i != 1){
sum += i;
cnt++;
if (cnt == 1) min = i;
}
}
if (cnt == 0) printf("-1");
else {
printf("%d\n", sum);
printf("%d", min);
}
return 0;
}
728x90
'백준 > 백준 C언어' 카테고리의 다른 글
백준 C99 2750번 수 정렬하기 (Today I Learn 2024.03.26) (0) | 2024.05.28 |
---|---|
백준 C99 11658번 소인수분해 (Today I Learn 2024.03.25) (0) | 2024.05.15 |
백준 C99 1978번 소수 찾기 (Today I Learn 2024.03.23) (0) | 2024.05.14 |
백준 C99 9506번 약수들의 합 (Today I Learn 2024.03.22) (0) | 2024.05.14 |
백준 C99 2501번 약수 구하기 (Today I Learn 2024.03.21) (0) | 2024.05.14 |