1·循环与递归测试代码
package com.helan.a;
public class fibo {
//运用循环计算从1加到100
int addForm1(int n){
int result=0;
for(int i=0;i<=n;i++){
result=result+i;
}
return result;
}
//运用递归计算从1加到100
int addForm(int n){
return n>0?n+addForm(n-1):0;
}
public static void main(String[] args) {
int n=100;
System.out.println(new fibo().addForm(n));
System.out.println(new fibo().addForm1(n));
}
}
2·计算斐波那契数
package com.helan.a;
public class fibo {
//利用递归进行斐波那契数的计算
//斐波那契数 后一个数等于前两个数的和 0 1 1 2 3 5 8
long fibonacci(int n){
if(n<=0){
return 0;
}
if(n==1){
return 1;
}
return fibonacci(n-1)+fibonacci(n-2);
}
public static void main(String[] args) {
System.out.println(new fibo().fibonacci(19));
}
}
3·改进版计算斐波那契
package com.helan.a;
public class fibo {
//利用循环
// 进行斐波那契数的计算
//斐波那契数 后一个数等于前两个数的和 0 1 1 2 3 5 8
long fibonacci(int n){
if(n==0){
return 0;
}
if(n==1||n==2){
return 1;
}
int pre=1;
int prePre=1;
int count=2;
for(int i=3;i<=n;i++){
count = pre+prePre;
prePre=pre;
pre=count;
}
return count;
}
public static void main(String[] args) {
System.out.println(new fibo().fibonacci(19));
}
}