scala 斐波那契数列

162 阅读1分钟

一. 斐波那契数列

  • 斐波那契数列是一个数字序列 其中每个数字是前两个数字的总和 通常以0和1作为起始值。

1.1. 定义

  • 斐波那契数列(Fibonacci sequence)是由意大利数学家莱昂纳多·斐波那契在1202年引入的,通常表示为: F(0)=0,F(1)=1,F(n)=F(n−1)+F(n−2)(n≥2)F(0)=0,F(1)=1,F(n)=F(n−1)+F(n−2)(n≥2)

  • 因此,斐波那契数列的前几项为:0、1、1、2、3、5、8、13、21、34、55、89、144......

1.2. 生成规则

从第三项开始,数列中的每一项都是前两项之和

  • e.g:
  • 第三项:1+0=11+0=1
  • 第四项:1+1=21+1=2
  • 第五项:2+1=32+1=3
  • 第六项:3+2=53+2=5
  • 依此类推……

二. test

2.1. 01

求斐波那契数列数据的第n项

f(1)=1
f(2)=2

f(n)=f(n-1)+f(n-2)
def f(n:Int):Int = {
  //写代码
  if(n == 1){
    1
  } else if (n == 2){
    2
  } else {
    f(n-1)+f(n-2)
  }
}

2.2. 02

a的n次方
a的n次方就是n个a相乘
起始条件:f(a,0)=1,f(a,1)=1
递归规则:f(a,n)=a*f(a,n-1)(当n>=1)求它的第n项
def f(a:Int,n:Int):Int = {
  //写代码
  if(n == 0){
    1
  }else {
    a*f(a,n-1)
  }
}