波斐数列java
① 斐波那契数列 java
//这里采用两种方法实现该数列
//第一种方法:用递归调用相加,实现简单,但效率极低
//第二种方法:比第一种略显复杂,但效率高
//------------------------------------------------------------
import java.util.Scanner;
public class Fibonacci {
//方法1:递归方式
public static long getFibonacci1(long count){
if(count<=1){
return 1;
}
return getFibonacci1(count-1) + getFibonacci1(count-2);//递归调用
}
//方法2:非递归方式,复杂一点,但效率比方法1高
public static long getFibonacci2(long count){
if(count<=1){
return 1;
}
long temp = 0;
long prev = 1;
long next = 1;
for (long i = 2; i <=count; i++) {
temp = prev+next;
prev = next;
next = temp;
}
return temp;
}
public static void main(String[] args) {
System.out.println("请输入你要列出的项数,以回车结束:");
//控制台输入
Scanner s = new Scanner(System.in);
//输入的项数
int inputNum = s.nextInt();
System.out.println("得出斐波那契数列前"+inputNum+"项如下:");
for (long i = 0; i < inputNum; i++) {
//方式1
//System.out.prlong(getFibonacci1(i)+" ");
//方式2
System.out.print(getFibonacci2(i)+" ");
}
}
}
② 如何用java语言输出斐波那契数列
Java编程:三种方法实现斐波那契数列
其一方法:
publicclassDemo2{
//定义三个变量方法
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.println("斐波那契数列前20项为:");
System.out.print(a+" "+b+" ");
//因为前面还有两个、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编写斐波那契数列
这么简单?
public class Fibonaci{
public static void main(String[] args){
long[] fibonaci=new long[20];
fibonaci[0]=1;
fibonaci[1]=1;
for(int i=2;i<20;i++){
fibonaci[i]=fibonaci[i-2]+fibonaci[i-1];
}
for(long i:fibonaci){
System.out.println(i);
}
}
}
运行结果为:
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
递归迭代的思想....
④ 用java编写程序,输出斐波那契数列的前10个数。
1
1
2
3
5
8
13
21
34
55
public
class
Fibonacci
{
public
static
void
main(String
args[])
{
int
i=1,j=1;
for(int
n=1;n<=5;n++)
{
System.out.print("
"+i+"
"+j);
i
=
(int)(i+j);
j
=
(int)(i+j);
}
System.out.println();
}
}
1
1
2
3
5
8
13
21
34
55
我给你大概解释一下吧,这个循环一共循环5次,每次写出斐波那契数回列中的2个数答,因此一共有10个数
⑤ 如何用java语言输出斐波那契数列
|具体代码如下:
public class Test {
public int fib(int n)
{
if(n==1 || n==2)//当n=1或2时 返回1
{
return 1;
}
return fib(n-1)+fib(n-2);//返回前两项的和内
}
public static void main(String[] args) {
Test t = new Test();
for (int i = 1; i <= 15; i++) {
System.out.printf ("fib(%d)=%d ",i,t.fib(i));
}
}
}
运行结容果:
fib(1)=1
fib(2)=1
fib(3)=2
fib(4)=3
fib(5)=5
fib(6)=8
fib(7)=13
fib(8)=21
fib(9)=34
fib(10)=55
fib(11)=89
fib(12)=144
fib(13)=233
fib(14)=377
fib(15)=610
⑥ java 斐波那契数列
publicclassFibonacci3{
//使用递归方法
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计算斐波那契数列的前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
⑧ 用JAVA表示斐波那契数列 急急急!!!!
publicclassFibonacci{
//能够被显示的最大项
privatestaticfinallongMAX_TERM_VALUE=10000;
publicvoidrun(){
longfibonacci_1=0L;
longfibonacci=1L;
System.out.println(fibonacci_1);
while(fibonacci<MAX_TERM_VALUE){
System.out.println(fibonacci);
longtemp=fibonacci_1+fibonacci;
fibonacci_1=fibonacci;
fibonacci=temp;
}
}
publicstaticvoidmain(String[]args){
newFibonacci().run();
}
}
⑨ 如何用java方法最优雅的实现斐波那契数列
其实所有的递归都可以用循环来写,区别是有的程序用递归写起来更加容易,能够提高程序执行的效率。关关于斐波那契数列用递归会更加好。