Home > Study > C Language > C Example > [ex50] 1부터 입력 값까지 소수를 모두 인쇄하는 함수

[ex50] 1부터 입력 값까지 소수를 모두 인쇄하는 함수
Study Language

문제 설명


1부터 입력 받은 값 사이의 소수를 모두 인쇄하는 함수를 설계하라
리턴은 없고 입력 받은 정수까지 모든 소수를 공백으로 분리하여 인쇄하는 함수
소수(素數, prime number): 1과 자기 자신으로만 나누어지는 수
main에서 scanf로 양의 정수 하나를 입력 받아 함수에 전달한다

#include <stdio.h>

void main(void)
{
	// 코드 작성
}

입력 예시


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 습관화 필요