본문 바로가기

알고리즘

[Algorithm] 프랙탈 수

문제


크기 N의 프랙탈 수는 다음과 같이 출력된다.

  1. 크기 N-1의 프랙탈 수를 출력한다. (단, 숫자 1에 대한 프랙탈 수는 1이다)
  2. 그 다음에 숫자 N을 출력한다.
  3. 그 다음에 크기 N-1 프랙탈 수를 출력한다.

예를 들어, 숫자 2에 대한 프랙탈 수는 “1 2 1”이며, 숫자 3에 대한 프랙탈 수는 “1 2 1 3 1 2 1”이다. 숫자 N이 주어질 때, 크기 N의 프랙탈 수를 출력하는 프로그램을 작성하시오.  

입력


첫 번째 줄에 숫자 N이 주어진다. ( 1 ≤ N ≤ 20 )  

출력


첫째 줄에 크기 N의 프랙탈 수를 출력한다.

 

예제 입력

4

예제 출력

1 2 1 3 1 2 1 4 1 2 1 3 1 2 1



<코드>

#include <stdio.h>


void fractal(int n)

{

  if(n>=2){

    fractal(n-1);

  }

  printf("%d ",n);

  if(n>=2){

    fractal(n-1);

  }

}

int main() {


  //Please Enter Your Code Here

  int n;

  scanf("%d",&n);

  

  fractal(n);


  return 0;

}


마운틴과 구현이 같다.

'알고리즘' 카테고리의 다른 글

[Algorithm] 순열  (0) 2019.02.10
[BOJ] 2677 단지번호붙이기  (0) 2019.02.09
[Algorithm] mountain  (0) 2019.02.06
[Algorithm] Recursive Practices  (0) 2019.02.05
[Algorithm] Recursive Function  (0) 2019.02.05