斐波那契数列描述
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
实现方式
#include<stdio.h>
int fibo1(int n)
{
if (n == 1 || n==2)
{
return 1;
}
return fibo1(n-2)+fibo1(n - 1);
}
int main(){
for(int i=1;i<=7;i++){
printf("%d,", fibo1(i));
}
}
#include <iostream>
using namespace std;
int Fibonaccisequence(int n)
{
if(n == 1 || n == 2)
{
return 1;
}
else
{
return Fibonaccisequence(n-1) + Fibonaccisequence(n-2);
}
}
int main()
{
int n; //n表示为第几个数值
for(n=1;n<=7;n++)
{
int res = Fibonaccisequence(n);
cout << res <<endl;
}
return 0;
}
public class Fibonacci {
public static void main(String[] args) {
for (int i = 1; i <=7; i++) {
System.out.print(recursion(i)+",");
}
}
//递归法
public static long recursion(long n){
long result = 0; //最后一个斐波那契数及存储中间斐波那契数的变量
if(n <= 0)
result = 0;
if(n == 1 || n == 2)
result = 1;
if(n > 2)
{
result = recursion(n-1) + recursion(n-2);
//System.out.print(result+" ");
}
return result;
}
}
object Fibonacci{
def main(args: Array[String]): Unit = {
for(i <- 1 to (7)) print(fbn(i)+",")
}
def fbn(n:Int): Int ={
if(n==1 || n==2) 1 else fbn(n-1)+fbn(n-2)
}
}
a, b,num = 0, 1, 1
while num <= 7:
print(str(b)+",")
a, b = b, a+b
num += 1
结论
以上多有代码本人均运行测试,结果是一样的,但对比之后会发现,几中语言中,c++和java代码行数最多,实现起来最简洁的还是Python语言。C和C++都是大学的基础课程,但是现在用的不多,而目前java、Scala和python是个人平时都在用的语言。未完待续……