【算法练习】斐波那契数列的N种语言实现方式(C/C++/Java/Scala/Python3)

斐波那契数列描述

        斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……


实现方式
  1. C语言实现斐波那契数列
#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));
	}
}
  1. C++语言实现斐波那契数列
#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;
}

  1. Java语言实现斐波那契数列
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;
    }
}
  1. Scala语言实现斐波那契数列
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)
  }
}
  1. Python3实现斐波那契数列
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是个人平时都在用的语言。未完待续……

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值