热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

斐波那契数列Python和Java

Fibonaccisequencepython递归非递归Java递归斐波那契数列前30项112358132134558914423337761098715972584418167

Fibonacci sequence

  • python
    • 递归
    • 非递归
  • Java
    • 递归

斐波那契数列前30项

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229

递归不一定好用,有的场景中,递归会使得效率降低,数字大的话,递归会卡死,
斐波那契数列用递归效率很低,若要显示前100项时候,明显非递归很快实现,递归很慢,所以斟酌使用。

python

递归

代码

def ferb(n):#递归if n<&#61;1:return nelse:return(ferb(n-2)&#43;ferb(n-1))
number&#61;int(input("输出前几项&#xff1a;"))
if number <&#61;0:print("请输入正整数")
else:for i in range(1,number&#43;1):print(ferb(i))

结果&#xff1a;

输出前几项&#xff1a;10
1
1
2
3
5
8
13
21
34
55
>>>

非递归

代码

a &#61; 0
b &#61; 1
c &#61; a&#43;b
number &#61; int(input ("输出前几项的值&#xff1a;"))
for i in range(1,number&#43;1):print(c)c &#61; a&#43;ba,b&#61;b,c

结果&#xff1a;
在这里插入图片描述

Java

递归

代码

import java.util.Scanner;public class ferbonacci {public static void main(String[] args) {Scanner scanner &#61; new Scanner(System.in);System.out.println("输出前几项&#xff1a;");int number &#61; scanner.nextInt();if (number<1){System.out.println("请输入正整数");}else{for (int i &#61; 1;i }

结果&#xff1a;
在这里插入图片描述
--------------------------------------------------
谢谢&#xff01;


推荐阅读
author-avatar
茳小国
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有