求第n个斐波那契数列

2022-10-26 14:14:51 浏览数 (1)

1.递归方法实现

代码语言:javascript复制
#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

int Fib(int n){
 if(n==1){
 	return 1;}
 if(n==2){
 	return 1;}
 return Fib(n-1) Fib(n-2);
 }

int main(){
int n;
int a;
printf("请输入需要打印的斐波那契数n");
scanf("%d",&n);
a=Fib(n);
system("pause");
return 0;
}

2.非递归方法实现

代码语言:javascript复制
#define _CRT_SECURE_NO_WARNINGS
#include<include>
#include<stdlib.h>

int Fib(int n){
   if(n==1){ return 1; }
   if(n==2){ return 1; }
   	//当前项的前一项;
   	int last1=1;
   	//当前项的后一项;
   	int last2=1;
   	int arr=0;
   	for( int i=3; i<=n; i   ){
   	cur=last2 last1;
   	//下一次循环的时候;
   	last2=last1;
   	last1=cur; 
   	}
   	return cur;
   }

int main()
{
int a;
int n;
printf("请输入需要打印的斐波那契数");
scanf("%d",&n);
a=Fib(n);
system("pause");
return 0;
}

0 人点赞