Ⅰ 如何用java语言输出斐波那契数列
Java编程:三种方法实现斐波那契数列
其一方法:
publicclassDemo2{
//定义三个变量方法
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.println("斐波那契数列前20项为:");
System.out.print(a+" "+b+" ");
//因为前面还有两个1、1所以i<=18
for(inti=1;i<=18;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+" ");
if((i+2)%5==0)
System.out.println();
}
}
}
java编程:三种方法实现斐波那契数列
其二方法:
publicclassDemo3{
//定义数组方法
publicstaticvoidmain(String[]args){
intarr[]=newint[20];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契数列的前20项如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+" ");
}
}
}
Java编程:三种方法实现斐波那契数列
其三方法:
publicclassDemo4{
//使用递归方法
privatestaticintgetFibo(inti){
if(i==1||i==2)
return1;
else
returngetFibo(i-1)+getFibo(i-2);
}
publicstaticvoidmain(String[]args){
System.out.println("斐波那契数列的前20项为:");
for(intj=1;j<=20;j++){
System.out.print(getFibo(j)+" ");
if(j%5==0)
System.out.println();
}
}
}
同一道题用各种不同的思路去思考解决,也是对知识综合运用的锻炼。
Ⅱ 关于斐波那契数列Java编程
思路:
斐波那契数列
第0项是0,第1项是第一个1。
这个数列从第三项开始,每一项都等于前两项之和。
java代码如下:
importjava.util.Scanner;
/**
*斐波那契数列
第0项是0,第1项是第一个1。
这个数列从第三项开始,每一项都等于前两项之和
*@authoryoung
*
*/
publicclassFei{
publicstaticvoidfunc(intn){
if(n<3){
System.out.println("0,1");
}elseif(n>3){
inta=0,b=1,c=0;
System.out.print(a+""+b+"");
for(inti=3;i<=n;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+"");
}
}elseif(n<0){
System.out.println("输入数字不符合要求");
}
}
publicstaticvoidmain(String[]args){
Feif=newFei();
Scannerinput=newScanner(System.in);
System.out.print("请输入斐波那契数列的列数n,按ENTER:");
intnum=input.nextInt();
System.out.println("斐波那契数列为:");
func(num);
}
}
运行结果如下:
Ⅲ 1)java实现计算斐波那契数列第n项值的方法.
其实就是一个递归算法,如下:
public class Test {
public static void main(String[] args) {
System.out.println(f(6));
}
public static int f(int n){
if(n==1||n==2){
return 1;
}else{
return f(n-1)+f(n-2);
}
}
}
Ⅳ 用JAVA数组来求斐波那契数列前20项: 1 1 2 3 5 8 ….
publicclassDemo{
publicstaticvoidmain(String[]args){
intn=20;
intsum=0;
for(inti=1;i<=n;i++){
System.out.print(fibo(i)+" ");
sum+=fibo(i);
}
System.out.println(" 菲波那契数列的前20项和为:"+sum);
}
privatestaticintfibo(intn){
if(n==1)
return1;
if(n==2)
return1;
returnfibo(n-1)+fibo(n-2);
}
}
数组法:
publicclassDemo{
publicstaticvoidmain(String[]args){
int[]array=newint[20];
array[0]=1;
array[1]=1;
intsum=0;
for(inti=2;i<array.length;i++){
array[i]=array[i-1]+array[i-2];
}
//遍历数组并累计
for(inti=0;i<array.length;i++){
sum+=array[i];
}
//输出和
System.out.println(" 菲波那契数列的前20项和为:"+sum);
}
}
Ⅳ Java计算斐波那契数列的前n项和
Java代码:
publicclassMain{
publicstaticvoidmain(String[]args){
容System.out.println(sum(10));
}
publicstaticlongsum(intn){
if(n<1){
return0;
}
if(n==1){
return1;
}
if(n==2){
return2;
}
longf1=1,f2=1;
longsum=2;
for(inti=3;i<=n;i++){
f2=f1+f2;
f1=f2-f1;
sum+=f2;
}
returnsum;
}
}
运行测试:
143