피보나치수열 과제 때문에 질문 드립니다.
진달래
#include stdio.h
int Fibo(int);
int main()
{
int num,i;
while(1)
{
printf(몇번째의 피보나치 수열을 보여 드릴까요? );
scanf(%d,&num);
if(num0)
printf(잘못된 수를 입력하셨습니다.\n);
printf(%d 입니다,Fibo(num));
printf(\n);
}
return 0;
}
int Fibo(int a)
{
if(a==2||a==3)
return 1;
else
return Fibo(a-1)+Fibo(a-2);
}
피보나치수열의 결과 값을 0부터 시작하도록 만들었는데
1번째의 피보나치수를 알려고 하면 프로그램이 돌아가지 않아서요.
어디를 수정 해야 될까요? 알려주세요..
-
초록이
수다님의 코드가 그렇게 되어 있습니다.
-
이루리
수다님 고생해 주셔서 너무나 감사합니다..
그런데 제가 원하는 답은 1이라는 숫자를 입력했을시 0이 나타나고 2라고 입력하면 1이 나타나는
프로그램입니다..ㅜㅜ -
혜윤
되지를 않습니다...왜이럴까요...한번 실행해 봐주시겠어요??
-
야미
그렇게 하려면 a==1도 걸러내야지요.
if(a==1)
return 0;
else if(a==2||a==3)
return 1;
else
return Fibo...; -
목소리
피보나치수열의 첫번째는 0으로 알고 있습니다..그래서 0부터 시작을 할려고 하는거구요..
0부터 시작 하는 방법은 없나요?? -
주미
피보나치 수열은 첫번째와 두번째가 1입니다.
1,1,2,3,5,8,13,...
if(a==2||a==3) - if(a==1||a==2)로 바꿔주세요.