斐波那契算法的java实现
2018-04-03 16:14:53
765次阅读
0个评论
斐波那契(Fobonacci)数列的第1和第2个数分别为1和1,从第三个数开始,每个数等于
其前两个数之和(1,1,2,3,5……)
实现1:
其前两个数之和(1,1,2,3,5……)
实现1:
public static Integer fobonacci(Integer n){
if(n<0||n==0){
System.out.println("参数必须大于0");
return 0;
}
if(n==1||n==2){
return 1;
}
Integer first = 1;
Integer second = 1;
Integer result = 0;
for(int i=3;i<=n;i++){
result = first+second;
first = second;
second = result;
}
System.out.println("n=="+n+":result="+result);
return result;
}
public static Integer fobonacci(int n) {
if (n == 0) {
return 0;
} else if (n == 1) {
return 1;
}
return fobonacci(n - 1) + fobonacci(n - 2);
}
变种1:输出前20个数,每6个数一行
public static Integer fobonacci(Integer n){
if(n<0||n==0){
System.out.println("参数必须大于3");
return 0;
}
if(n==1||n==2){
return 1;
}
Integer first = 1;
Integer second = 1;
Integer result = 0;
System.out.print(first+","+second+",");
for(int i=3;i<=n;i++){
result = first+second;
System.out.print(result+",");
if(i%6==0){
System.out.println("");
}
first = second;
second = result;
}
System.out.println("\nn=="+n+":result="+result);
return result;
}
00
相关话题
- Java排序算法
- Guava RateLimiter令牌桶算法限流
- java删除字符串中的数字
- java提取字符串的汉字
- 将footer固定在页面底部的实现方法
- SpringMvc实现RESTful风格的delete和put请求
- Apache的commons-net实现FTP的文件上传下载
- 开放接口api的Token签名sign设计与实现
- Java删除字符串的所有标点
- Java反射允许修改final属性值的方式
- java计算汉字字符串的长度
- Java对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区别
- css实现下圆弧效果
- Java制作字符动画
- Java执行Javascript代码