SA_BLOG

윤성우의 열혈 C 프로그래밍 (도전! 프로그래밍1-5) 본문

프로그래밍/C언어

윤성우의 열혈 C 프로그래밍 (도전! 프로그래밍1-5)

wooty9 2014. 1. 14. 17:17

 

교수님이 예제문제로 내주셨던 것과 비슷한데 방학했다고 놀다보니 기억이 안나서 억지로 결과가 나오게 만들었습니다..

문제를 보면 10개의 소수를 출력하라고 해서 배열로 10개 까지만 나오도록 했내요.. (억지로,,ㅠㅠ)

'에라토스테네스의 체'를 이용하여 코드를 작성했습니다.

 

문제)

10개의 소수를 출력하는 프로그램을 작성하시오.

 


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
 
//에라토스테네스의 체 참고.
#include <stdio.h>
int main(void)
{
 int i, num[30] = { 1 };
 //숫자들을 배열에 담음.
 for (i = 1; i < 30; i++)
 {
  num[i] = i + 1;
 }
//배열에 담긴 숫자들 중 2,3,5의 배수들을 0으로 설정.
 for (i = 1; i < 30; i++)
 {
  if ((num[i]!=2) && (num[i] % 2 == 0))
  {
   num[i] = 0;
  }
  if ((num[i] != 3) && (num[i] % 3 == 0))
  {
   num[i] = 0;
  }
  if ((num[i] != 5) && (num[i] % 5 == 0))
  {
   num[i] = 0;
  }
 }
// 0 보다 큰 수들만 출력.
 for (i = 1; i < 30; i++)
 {
  if (num[i]>0)
  {
   printf("%d ", num[i]);
  }
 }
 printf("\n");
 return 0;
}
 
CodeHighlighter


Comments