渣渣小白学R(每日一题)--输出前20个斐波那契数

斐波那契数列(Fibonacci sequence):又称黄金分割数列.指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列被以如下递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

方法一:思路是数学中的列举法,详见下图。

rm(list=ls())#清空变量栏

a=1
b=1
for(n in 1:20)
{
  print(a)
  c=a+b
  a=b
  b=c
}

方法二:(1)前两个数返回1

              (2)当n>=3时,返回前两个数的和

              (3)用一个循环输出前20个斐波那契数

rm(list=ls())

feibonaqishu = function(n)
{
    if(n==1|n==2)
    {
      return(1)
    }
    else
    {
      return(feibonaqishu(n-1)+feibonaqishu(n-2))    
    }

}
feibonaqishu(3)
feibonaqishu(4)

for(n in 1:20)
{
  print(feibonaqishu(n))
}

猜你喜欢

转载自blog.csdn.net/weixin_42124921/article/details/82556877