728x90
반응형

문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=228&sca=10d0

 

JUNGOL

 

www.jungol.co.kr

문제

첫 번째 수는 1이고 N번째 수는 (N/2)번째 수(파이썬인경우 N//2번째)와 (N-1)번째 수의 합으로 구성된 수열이 있다.
50 이하의 자연수 N을 입력받아 재귀호출을 이용하여 이 수열에서 N번째 수를 출력하는 프로그램을 작성하시오.

(1 2 3 5 7 10 13 18 …)

 

입력 예

8 

출력 예

18

Hint!

8번째 수는 4번째(8/2) 수인 5와 7번째(8-1) 수인 13의 합이다.

 

 

 

코드 : 

# include <stdio.h>

int print(int num);

int main()
{
	int num;
	scanf("%d",&num);
	printf("%d",print(num));
	
	return 0;
}

int print(int num)
{
	
	int i;
	
	if(num<=1) 	return 1;
	
	return print(num/2) + print(num-1);
}
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기