본문 바로가기

Algorithm/BOJ

[C/perfect C] 프로젝트 Part 1-04 : 소수로 삼각형 만들기

1. 소수 출력하는 함수

2. 삼각형 만드는 반복문

이 두 가지를 잘 섞어서 만들어야겠다 생각함.

 

1번은 많이 해봐서 괜찮았는데

갑자기 2번 하려니까 여기서 의외로 시간을 많이 잡아먹었다.

예엣날에 백준 별찍기를 어떻게 했었지..?부터 시작해가지구 생각을 거슬러 오르다가 겨우 생각해냈다. 에휴

 

 

#define TRUE  1
#define FALSE  0

#include <stdio.h>

int isPrimeNum(int n);

int main(void){
  int countNum = 2;

  //삼각형 출력
  for(int i=1; i<11; i++){
    // 공백 출력
    for(int j=1; j<11-i; j++){
      printf("  ");
    }

    // 숫자 출력
    for(int k=1; k<=i; k++){
      while(1){
        if(isPrimeNum(countNum++)){
          printf("%3d ", countNum-1);
          break;
        }
      }
    }

    printf("\n");
  }

  
}

int isPrimeNum(int n){
  if(n==2)
    return TRUE;
  
  for(int i=2;i<n;i++){
    if(n%i == 0)
      return FALSE;
  }
  return TRUE;
}

 

 

 

<실행결과>