c语言实现求第n个斐波那契数。(递归和非递归)

来源:互联网 发布:java锁的种类 编辑:程序博客网 时间:2024/05/19 02:25

非递归方法:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<Windows.h>#define MAX 100int find(int n){    int a = 1;    int b = 1;    int c = 0;    int i = 0;    if (n <= 2)    {        return 1;    }    else    {        for (i = 3; i <= n; i++)        {            c = a + b;            a = b;            b = c;        }        return b;    }}int main(){    int n = 0;    printf("请输入:>");    scanf("%d", &n);    printf("%d\n", find(n));    system("pause");    return 0;}

递归方法:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<Windows.h>#define MAX 100int find(int n){    if (n < 3)    {        return 1;    }    else if (n>=3)    {         n--;        return find(n) + find(n - 1);    }}int main(){    int n = 0;    printf("请输入:>");    scanf("%d", &n);    printf("%d\n", find(n));    system("pause");    return 0;}
阅读全文
0 0