斐波那契数列C语言实现

原创 2018年04月15日 17:53:15
    波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、...
#include<stdio.h>

int fib1(int n) {   //递归实现
	if (n < 1) {
		return -1;
	}
	if (1 == n || 2 == n) {
		return 1;
	}
	return fib1(n - 1) + fib1(n - 2);
}

int fib2(int n) {   //非递归实现
	if (n < 1) {
		return -1;
	}
	if (1 == n || 2 == n) {
		return 1;
	}
	int f1 = 1;
	int f2 = 1;
	int f3 = 2;
	for (int i = 3; i <= n; ++i) {
		f3 = f1 + f2;
		f1 = f2;
		f2 = f3;
	}
	return f3;
}

int main() {
	int n, result;
	printf("input item number:\n");
	scanf_s("%d", &n);
	result = fib1(n);
	printf("非递归:the result is %d\n", result);

	result = fib2(n);
	printf("递  归:the result is %d\n", result);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41822235/article/details/79951293

C语言斐波那契数列的四种实现方式—递归,迭代,数组,队列

自博客园转载: 1.递归 效率低,除了最后一个数,每个数都被重复计算若干次 1: //递归实现 2: public static int Fib1(int n) ...
  • NeoAdrian
  • NeoAdrian
  • 2016-12-06 00:25:49
  • 2302

斐波那契数列的非递归c语言实现以及斐波那契数列的应用

斐波那契数列的非递归c语言实现以及斐波那契数列的应用即青蛙跳台阶问题的解析...
  • xulu_258
  • xulu_258
  • 2016-05-06 21:46:27
  • 10597

C语言递归方法实现斐波那契数列

本文介绍面试题经典试题之一:C语言用递归方法实现斐波那契数列(从第三个数起,后一个数等于前面两个数之和):1、1、2、3、5、8、13、21、34......... #include long int...
  • marc07
  • marc07
  • 2017-03-17 12:41:21
  • 2200

C语言不用递归(使用栈)实现斐波那契数列练习

堆栈代码: Stack.h #define STACK_INIT_SIZE 100 #define STACK_INCREATMENT 10 #define OK 1 #define ERROR...
  • kendyhj9999
  • kendyhj9999
  • 2013-06-13 14:22:42
  • 1180

斐波那契数列-数组和递归-C语言

兔子在出生两个月后,就有繁殖能力,一对兔子每一个月能生成一对小兔子来,假设所有的兔子都不死,那么一年之后可以繁殖多少对兔子? 这个问题就是 典型的 斐波那契数列 斐波那契数列的特点是: 前...
  • u010187139
  • u010187139
  • 2015-06-29 12:04:50
  • 5854

C语言实现斐波那契数列的两种方法(递归和迭代)

两种方法实现斐波那契数列,递归实现起来稍简单些,思路也清晰些,但运行效率显然不如迭代 下面是编译通过的两种方式实现斐波那契数列的C语言代码:/* * fibanacci.c * * Crea...
  • tech_universe
  • tech_universe
  • 2015-03-16 15:46:11
  • 9304

C语言实现斐波那契数列递归和非递归算法

// c_dataStructure.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; int ...
  • OliverkingLi
  • OliverkingLi
  • 2017-07-30 11:59:37
  • 662

【C语言】fibonacci数列 的递归和非递归 +浅谈递归优劣

一、基础概念: 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F...
  • zhangchaoq
  • zhangchaoq
  • 2015-05-10 15:24:12
  • 4726

用C的for语句写了斐波那契数列程序

#include void fobanacci(int n); int main(void) { int n; printf("输入你所要的斐波那契数最大值(输入任何字母退出):"); while(s...
  • youngdze
  • youngdze
  • 2013-10-28 22:20:50
  • 2627

C语言递归实现斐波那契数列程序

  • 2011年10月16日 14:48
  • 428B
  • 下载
收藏助手
不良信息举报
您举报文章:斐波那契数列C语言实现
举报原因:
原因补充:

(最多只允许输入30个字)