Scala 斐波拉契數(shù)列實(shí)現(xiàn)
標(biāo)簽:
數(shù)據(jù)結(jié)構(gòu)
//非递归实现
def feb1(n:Int):ArrayBuffer[Int] = { val ab = new ArrayBuffer[Int]() if(n==0) ab += 0
else if(n==1 || n==2) ab += 1
else{
ab += (0,1,1) for(m <- 3 until n){ val thisN = ab(m-1) + ab(m-2)
ab += thisN
}
ab
}
} val febTest10 = feb1(10)
println(febTest10.toList) //递归实现
def feb (n:Int):Int = { if(n==0) 0
else if(n==1 || n ==2) 1
else feb(n-1) + feb(n-2)
} for(n <- 0 to 10){
println(feb(n))
}點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦