U E D R , A S I H C RSS

피보나치/김준석

태양이 녀석이 for문 간단하게 하는걸 올렸구만;; -준식
그래도 니가 만든게 먼가 더 멋잇짜나 ㅋㅋ 난 능력이안되서...;; -태양
잠깐.. int pivo(present,next,p_num,num) <- 여기 변수들 앞에 int 붙여야 되는거 아닌가;;?
어떻게 돌아갔데 int형 자료 변수를 받은거라 그런가 ;;; -준식
고쳤다! - 준식
#include<stdio.h>
/*밑에 pivo함수를 만들어놨기 때문에 우선 여기서 
  pivo라는 함수가 있다고 정의*/ 
void pivo();

void main(){

    /*피보나치 수열의 맨 앞자리 1을 num1로 준다*/
	int num1, num2, count;
	num1 = 1;
	num2 = num1 + 0;

	/*피보나치 수열을 몇번째 자리까지 돌릴건지 정함*/
	printf("몇번째 까지 돌릴껀가요? : ");
	scanf("%d",&count);

	/*pivo(첫번째,두번째,재귀함수에 필요한 감소변수,몇번째구하기에 쓸 변수)*/
	pivo(num1,num2,count,count); 

	printf("\n %d 번째까지 구했습니다.\n",count);
}
/*p_num의 용도 : 만약 10번째까지 구한다면
  count이 10을 받고  p_num에 10이 들어간다
  p_num을 한번 돌릴때마다 1감소 시켜서 0 이 될때까지 한다면
  10을 받았을경우 11번을 돌릴수 있기 때문에
  if검사문을 먼저 놓고 p_num을 1감소를 다음에 놓으면
  잘돌아간다(?!?!)*/
int pivo(int present,int next,int p_num,int num){

	if(!p_num) return; //p_num이 0이되어 if(!거짓)이 되면 return을 이용하여 종료
		
	p_num = p_num - 1;
	printf(" %3d 번째 : %d \t", num - p_num,present); //현재 번째 = 돌리는 숫자 - 남은숫자 

	if(!((num-p_num)%4)) printf("\n"); //돌리는 숫자-남은숫자가 4의 배수라면 한줄 띄기

	/*현재 돌린 다음숫자를 출력하기 위해 present 자리에
	  next를 넣고 next 자리에는 next다음인 present+next를 넣는다.*/
                pivo(next,present+next,p_num,num); 
}
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:27
Processing time 0.0127 sec