/*********************************************
Fibonacci :
fn = fn-1 + fn-2 if n > 1
fn = n if n = 0, 1
*********************************************/
//Recursive
#include <stdio.h>
#include <stdlib.h>
int fib_fun(int fib)
{
if(( fib == 0) || (fib == 1 ))
return 1;
else
return fib_fun(fib-1)+ fib_fun(fib-2);
}
int main()
{
int fib,sum;
printf("pleae input a number\t");
scanf("%d",&fib);
if(fib < 0)
printf("Input Wrong\n ");
else
{
sum = fib_fun(fib);
printf("Answer is %d",sum);
}
system("pause");
}
//Non_Recursive
#include <stdio.h>
#include <stdlib.h>
int main()
{
int fib;
int sum =1;
int i;
int a =1,b=1;
printf("pleae input a number \t");
scanf("%d",&fib);
if(fib < 0)
printf("Input Wrong\n ");
else
{
if((fib ==0) || (fib ==1))
sum =1;
else
{
for(i=2;i<=fib;i++)
{
sum =a+b;
a = b;
b = sum;
}
}
printf("Answear =%d \n " , sum);
}
system("pause");
}
沒有留言:
張貼留言