1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | /* 2015.09.07 내용: 2이상의 정수를 입력받아서 1부터 입력받은 정수 까지의 모든 소수 구하기. 단, 한 줄에 5개씩 5칸 간격으로 출력 (어떤 수의 약수가 1과 자기 자신뿐이면, 그 수를 소수라고 한다.) => 소수 판단 알고리즘 1. 일단 소수라고 가정하고, 2. 2부터 그 정수보다 하나 작은 수까지 하나라도 나누어 떨어지면 소수가 아님. 3. 하나라도 나누어 떨어지지 않으면 그 숫자는 소수임. 1-3까지는 하나의 정수에 대해서 소수를 판단하는 과정이고 어떤 수까지 모든 수를 판별하기 위해서 1-3과정을 반복함. */ #include <stdio.h> int main() { int i, j, num, row; printf("2이상의 정수를 입력해주세요 : "); scanf("%d", &num); while (1) { if (num < 2) { printf("잘못 입력하셨습니다. 2이상의 정수만 입력 가능합니다."); continue; } else break; } printf("%d의 소수는 \n", num); i = 2; row = 0; while (i <= num) { j = 2; while (j <= i-1) { if (i % j == 0 && i != j) break; if (j == i-1) { row++; row % 5 == 0 ? printf("%2d\n", i) : printf("%2d ", i); } j++; } i++; } printf("\n"); return 0; } | cs |
'미래(2015-2016) > 자습' 카테고리의 다른 글
수민이가 내준 문제 (0) | 2015.09.09 |
---|---|
피라미드 출력하기 (0) | 2015.09.08 |
전기요금 계산하기 (0) | 2015.09.07 |
계산기 (0) | 2015.09.03 |
자판기 (0) | 2015.09.03 |