문제 설명
1부터 입력 받은 값 n(n > 1) 까지의 소수를 모두 인쇄하는 함수를 설계하라.
- 리턴은 없고 int를 받으면 그 사이에 있는 소수는 모두 인쇄하는 함수를 설계한다.
- 소수(prime number): 1과 자기 자신으로만 나누어지는 수
- 2부터 (자기-1)까지 값으로 계속 나누어가면서 나머지 0인 값이 나오면 소수가 아니다.
입력 설명
숫자를 한 개 입력 받는다.
출력 설명
값을 출력 예시와 같이 출력한다.
입력 예시
11
출력 예시
2 3 5 7 11
정답 코드
#include <stdio.h>
void Print_Prime(int max)
{
int i, j, k;
for (i = 2; i <= max; i++)
{
k = 0;
for (j = 2; j < i; j++)
{
if ((i % j) == 0)
{
k = 1;
break;
}
}
if (k == 0)
{
printf("%d ", i);
}
}
}
void main(void)
{
int n;
scanf("%d", &n);
Print_Prime(n);
}
메모
printf 내부의 \n 습관화 필요