A. 用java递归方法实现
publicintfun(intn){
if(n==0||n==1)return1;
returnn*fun(n-1);
}
B. java中递归调用fibonacci
文件不要保存成有格式的UTF-8文件。
f作为函数名、而函数之内又作为变量名。
C. JAVA用递归方法实现斐波那契数列
public static long fib1(int n){
if(n==1){
return 1;
}elseif(n==2){
return 2;
}else{
return fib1(n-1)+fib1(n-2);
}
}
D. java语言解决斐波那契数列问题
递归函数的定义:
递归函数即自调用函数,在函数体内直接或间接的调用自己,即函数的嵌套是函数本身。
递归方式:递归调用有直接递归和间接递归两种方式。
直接递归:在函数中出现调用函数本身。
下面代码求斐波那契数列第n项,斐波那契数列第一和第二项是1,后面每一项是前两项之和,即1、1、2、3、5、8、13
...。
public
class
test
{
public
static
void
main(string
args[])
{
int
x1
=
1;
int
sum
=
0;
int
n
=
7;
for
(int
i
=
1;
i
<=
n;
i++)
{
x1
=
func(i);
sum
=
sum
+
x1;
}
system.out.println("sum="
+
sum);
}
public
static
int
func(int
x)
{
if
(x
>
2)
return
(func(x
-
1)
+
func(x
-
2));
else
return
1;
}
}
间接递归:指函数中调用了其他函数,而该其他函数有调用了本函数。
用间接递归来计算上述斐波那契数列。
程序代码:
public
class
test
{
public
static
void
main(string
args[])
{
int
x1
=
1;
int
sum
=
0;
int
n
=
7;
for
(int
i
=
1;
i
<=
n;
i++)
{
x1
=
func1(i);
sum
=
sum
+
x1;
}
system.out.println("sum="
+
sum);
}
public
static
int
func1(int
a){
int
b;
b=func2(a);
return
b;
}
public
static
int
func2(int
b)
{
if
(b>
2)
return
(func1(b
-
1)
+
func1(b
-
2));
else
return
1;
}
}
E. 如何用java语言输出斐波那契数列
/*packagewhatever;//don'tplacepackagename!*/
importjava.util.*;
importjava.lang.*;
importjava.io.*;
classFibonacci{
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.print(a+" "+b+" ");
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();
}
}
}