반응형
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가 같을 때라는 것은 이 값이 소수임을 의미한다. */
위의 프로그램에 대한 순서도
반응형