求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55

public class Test4 {

public static void main(String[] args) {
int n;
int fn;
Scanner scanner=new Scanner(System.in);
System.err.println("请输入30以内的整数:");
n=scanner.nextInt();
fn=peibo(n);
System.out.println("斐波那契数列第"+n+"项为:"+fn);
}

public static int peibo(int n){
if(n==1 || n==2){
return 1;
}
// System.err.println(peibo(n-1)+peibo(n-2)+" n="+n);
return peibo(n-1)+peibo(n-2);
}
}

时间: 2024-08-02 21:51:14

求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55的相关文章

黑马入学基础测试(三)求斐波那契数列第n项,n&lt;30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55

.获得用户的输入 计算      3打印就行了.   这里用到了java.util.Scanner   具体API  我就觉得不常用.解决问题就ok了.注意的是:他们按照流体的方式读取.而不是刻意反复读取 自己写的代码: package com.itheima; import java.util.Scanner; public class Test3 { /** * 3.求斐波那契数列第n项,n<30,斐波那契数列前10项为 1,1,2,3,5,8,13,21,34,55 * * @author

Python初学者笔记:打印出斐波那契数列的前10项

问题:斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加.特别指出:0不是第一项,而是第零项. 方法:Python2.7.9 a=0 b=

Tribonacci(泰波那契)数列前n项和的求解问题

 Tribonacci数列是斐波那挈数列的扩展  很有趣的,我们可以发现  这是Tribonacci数列的一些深入研究 下面是贴代码的时间了: 解法一(半产品) 这种方法就不解释了,不懂就去看看最笨的方法递归求解,而这是对递归求解的优化 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); wh

一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

public class FractionAdd { public static void main(String[] args) { double sum = 0; double n1 = 1, n2 = 2, sn = 0;// 经分析,分子分母都为斐波那契数列 for (int i = 1; i <= 20; i++) {// 数列前20项,循环20次 sum += n2 / n1; sn = n1 + n2; n1 = n2; n2 = sn; } System.out.println(

求数列前20项之和

有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13..求出这个数列前20项之和.function text4(){ var denominator; var molecule; var i= 0,k= 1,str=""; var str1="",str2="",sum=0; for(var j=1;j<=20;j++){ //分母 denominator=i+k; i=k; k=denominator; str+=deno

2/1+3/2+5/3+8/5+13/8+…求出这个数列前20项的和

★有一个分数序列2/1+3/2+5/3+8/5+13/8+-求出这个数列前20项的和. #include<stdio.h> #include<stdlib.h> int main() { int i = 0; double x = 2.0, y = 1.0, z = 0.0; double sum = 0; for (i = 1; i <= 20; i++) { sum = sum+x / y; z = x; x = x + y; y = z; } printf("

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

/** * @author 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. */ public class Sum { public static void main(String[] args) { double a = 1, b = 1, c = 0, s = 0; for (int i = 0; i < 20; i++) { c = a + b; s = s + c / a; b = a; a = c; } System.out.pri

有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。

题目描述 输入 N 输出 数列前N项和 样例输入 10 样例输出 16.48 代码:#include<stdio.h>int main(){    int i,N;    double c=0,a=2.0,b=1.0,t,sum=0;         scanf("%d",&N);    for(i=0;i<N;i++)    {           c=a/b;        sum=sum+c;        t=a;        a=a+b;     

c语言:有一个分数序列: 2/1+3/2+5/3+8/5+13/8+… 求出这个数列前 20 项的和

程序: #include <stdio.h> int main() { double s=0,a=2,b=1; int t,i,n=20;  //改变n的值即可求任意项的和 for (i=1;i<=n;i++) { s=s+a/b;   //将各项累加 t=a; a=a+b;     //将前一项的分子与分母之和作为下一项的分子 b=t;       //将前一项的分子作为下一项的分母 } printf ("%lf\n",s); return 0; } 输出结果: 3