matlab作业:斐波那契数列

matlab作业:斐波那契数列

clc;
clear;
n=input('请输入你想知道的第几个斐波那契数:');
%%matlab自带的斐波那契数列函数
answer1=fibonacci(n);
Answer1=sprintf("方法一第%d项的斐波那契数:%d",n,answer1);
disp(Answer1);

%%迭代计算斐波那契数列函数
answer2=Fibonacci1(n);
Answer2=sprintf("方法二第%d项的斐波那契数:%d",n,answer2);
disp(Answer2);

%%递归计算斐波那契数列函数
answer3=Fibonacci2(n);
Answer3=sprintf("方法三第%d项的斐波那契数:%d",n,answer3);
disp(Answer3);

function answer2 = Fibonacci1(n)
if (n<0)||(round(n)~=n)
    warning('请输入非负数');
    answer2=[];
    return;
elseif n<2
    answer2=n;
else
    answer2=Fibonacci1(n-1)+Fibonacci1(n-2);
end
end

function answer3 = Fibonacci2(n)
if (n<0)||(round(n)~=n)
    warning('请输入非负数');
    answer3=[];
    return;
elseif n<=2
    answer3=n;
else
    a=1;
    b=1;
    answer3=1;
    for time =3:n
        answer3=a+b;
        a=b;
        b=answer3;
    end
end   
end

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值