• 斐波那契数


    递归算法是不可取的。由于效率非常低,并且还有栈溢出的风险。


    应该使用例如以下的迭代解法:

    int Fibonacci(unsigned int n)
    {
    	if(n <= 0)
    	{
    		return 0;
    	}
    	if(n == 1)
    	{
    		return 1;
    	}
    	int i = 0,j = 1,m;
    	unsigned int k;
    	for(k = 2; k <= n; k++)
    	{
    		m = i+j;
    		i = j;
    		j = m;
    	}
    	return m;
    }

    可是对于这题来说。上面的代码还是不行的。应该返回值用long long类型:
    题目描写叙述:

    大家都知道斐波那契数列。如今要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义例如以下:

    输入:

    输入可能包括多个測试例子,对于每一个測试案例,

    输入包含一个整数n(1<=n<=70)。

    输出:

    相应每一个測试案例。

    输出第n项斐波那契数列的值。

    例子输入:
    3
    例子输出:
    2
    /*
    斐波那契数列
    by Rowandjj
    2014/7/24
    */
    #include<stdlib.h>
    #include<stdio.h>
    long long Fibonacci(unsigned int n)
    {
    	if(n <= 0)
    	{
    		return 0;
    	}
    	if(n == 1)
    	{
    		return 1;
    	}
    	long long i = 0,j = 1,m;
    	unsigned int k;
    	for(k = 2; k <= n; k++)
    	{
    		m = i+j;
    		i = j;
    		j = m;
    	}
    	return m;
    }
    int main()
    {
    	unsigned int n;
    	while(scanf("%d",&n) != EOF)
    	{
    		printf("%lld
    ",Fibonacci(n));
    	}
    	return 0;
    }
    


    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    定位小结
    定位知识点
    css属性书写顺序
    清除浮动及清除浮动的方法
    margin合并和塌陷问题
    css特性-层叠性,继承性,优先级
    css属性简写
    css布局之双飞翼布局
    css布局之圣杯布局
    css布局之等高布局
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4634793.html
Copyright © 2020-2023  润新知