연재 완료/C Lang 예제코드 모음

C언어 제어문 주요예제2 + 순서도

라이피 (Lypi) 2018. 5. 4. 12:22
반응형

2부터 입력받은 수까지의 소수를 한줄에 7개씩 보여주는 프로그램을 작성하라. 

#include <stdio.h>

//소수를 구하는 프로그램//
//최적화된 알고리즘 절대 아님//

int main()
{
	int i, j, input, line=0;

	printf("2부터 입력하신 수까지의 모든 소수를 찾는 프로그램입니다. \n");
	printf("찾을 범위를 입력하세요. : "); scanf_s("%d", &input);

	for (i = 2; i <= input; i++) //i = 2부터 input까지 i를 1씩 증가시키면 반복문을 돌림
	{
		for (j = 2; j <= i; j++) // j = 2부터 i까지 j를 1씩 증가시키면서 반복문을 돌림
		{
			if (i%j == 0) { break; } // i를 j로 나눈 나머지가 0이면 반복문을 나감.
		}

		if ( i == j ) // 이때 i와 j가 같으면 i가 처음으로 j에 의해서 나눠진 것이므로 i를 출력함
		{
			printf("%6d", i);
			line++;
			if (line == 7)
			{
				line = 0;
				printf("\n");
			}
		}
	}

}

/* 
	i값을 하나씩 올려가며 2부터 i까지의 j로 나눠본다.
	나눠지는 순간 루프를 탈출해서 i와 j값이 같은지 비교한다. 
	이 알고리즘에서 나누어 떨어진 순간이 i와 j가 같을 때라는 것은 이 값이 소수임을 의미한다.
*/


위의 프로그램에 대한 순서도





반응형