zoukankan      html  css  js  c++  java
  • 打印斐波那契(Fibonacci)数列

    需求:打印 Fibonacci数列

    思路:
    当前项的值等于前两项数值的和
    F=(F-1)+F(F-2)

    样例:
    输入:10
    输出:1 1 2 3 5 8 13 21 34 55

    辗转相加法实现

    #include<stdio.h>
    int main()
    {
    	int num, f, f1, f2, i;
    	scanf("%d", &num);    //用户输入打印的次数
    	f1 = f2 = 1;
    	
    	for(i = 1; i <= num; i++)    //打印的次数
    	{
    		if(i==1 || i==2)	//第一项第二项数值都是 1
    			printf("%d  ", f1);
    		else	
    			{
    				f = f1+f2;
    				f1 = f2;    //    移动数值
                                    f2 = f;
    				printf("%d  ", f);
    			}
    	}
    	return 0; 
    } 
    

    递归实现

    #include<stdio.h>
    int fibo(int);
    int main()
    {
    	int num, i;
    	scanf("%d", &num);
    	for(i = 1; i <= num; i++)
    		printf("%d  ", fibo(i));
    	return 0; 
    } 
    int fibo(int n)
    {
    	if(n==1 || n==2)
    		return 1;
    	else
    		return fibo(n-1)+fibo(n-2);
    }
    
  • 相关阅读:
    2020软件工程02
    自我介绍
    2019年春总结作业
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第七周学习总结
    第六周学习总结
  • 原文地址:https://www.cnblogs.com/rancvl/p/5204891.html
Copyright © 2011-2022 走看看