1.1 入门训练 Fibonacci数列

1.1 入门训练 Fibonacci数列
在这里插入图片描述
!在这里插入图片描述
 方法一:迭代

#include<stdio.h>
int main()
{
	int f1=1,f2=1;
	int n,i,fn;
	scanf("%d",&n);
	if(n==1||n==2)
		fn=1;
	else
	{
		for(i=3;i<=n;i++)//用迭代比递归的效率要高得多
		{
			fn=f1+f2;
			f1=f2;
			f2=fn;
		}
	}
	printf("%d\n",fn%10007);
	return 0;
}
			

法二:递归

#include<stdio.h>//递归
int fac(int n)
{
	if(n==1 || n==2)
		return(1);
	else
	{
		return(fac(n-1)+fac(n-2));
	}
}
int main()
{
	int fac(int n);
	int n;
	scanf("%d",&n);
	printf("%d\n",fac(n)%10007);
	return 0;
}

发布了104 篇原创文章 · 获赞 1 · 访问量 1123

猜你喜欢

转载自blog.csdn.net/YGGZZZ/article/details/104900242