제가 작성하고 싶은 조건은 아래 3가지 입니다.
- 첫 번째 줄에 모든 소수를 차례대로 출력
- 두 번째 줄에 소수의 개수를 출력
- 세번째 줄에 소수의 최대, 최소 값과 두 수의 합을 출력
첫번째 줄은 코드를 작성하였습니다.
두번째는 res
를 이용하였습니다. 그런데 여기서 res++;
코드를 어디에 붙여야 하나요?
위치 알려주세요. 그리고
3번째 조건은 어떻게 코드를 짜야하나요?
<작성한 코드>
#include <stdio.h>
#include <math.h>
#define size 1000001
int num[size] = { 0, };
int main() {
int M, N, i, j, res = 0;
int tmp = 0;
for (i = 2; i < size; i++)
num[i] = i;
scanf_s("%d %d", &M, &N);
tmp = (int)sqrt(N);
for (i = 2; i <= tmp; i++) {
if (num[i] == 0)
continue;
else {
for (j = i + 1; j <= N; j++) {
if (num[j] == 0)
continue;
if (num[j] % i == 0)
num[j] = 0;
}
}
}
for (i = M; i <= N; i++) {
if (num[i] != 0)
printf("%d", i);
}
printf("\n%d", res);
return 0;
}
res++
추가하기- 3번째 조건 달성하기