美文网首页
2019-05-16(栈的应用之 斐波那契数列(Fabonacc

2019-05-16(栈的应用之 斐波那契数列(Fabonacc

作者: 常人 | 来源:发表于2019-05-16 11:16 被阅读0次

栈用于递归函数:

#include<stdio.h>

int Fib(int n){ // 自定义函数
    if (n<0)
        return -1;
    else if (n == 0)
        return 0;
    else if (n == 1)
        return 1;
    else
        return Fib(n - 1) + Fib(n - 2);
}

int main(){
    int num = 2;
    printf("请输入要求取的第n项斐波那契数列 n=");
    if (scanf_s("%d", &num)){
        if (num >= 0){
            printf("%d", Fib(num));
        }
        else
            printf("Error!!!");
    }
    system("pause");
    return 0;
}

image.png

需要将计算的值 返回 ;声明一个变量接收(需要声明)弹栈给上一级的栈 函数 运算使用:如:int f ; f = Fib() - Fib();return f;

image.png

Ackerman函数

定义:
                 { n+1;                           m=0,n>0   
  A(m,n) =       { A(m-1,1);                      n=0,m>0   
                 { A(m-1,A(m,n-1))                n>0,m>0 
int ack(int m,int n)
{
    if(m == 0)
        return n+1;
    else if(n == 0)
        return ack(m-1,1);
    else
        return ack(m-1,ack(m,n-1));
}

相关文章

网友评论

      本文标题:2019-05-16(栈的应用之 斐波那契数列(Fabonacc

      本文链接:https://www.haomeiwen.com/subject/jlfbaqtx.html