当前位置: 首页 > 编程笔记 >

Java基于高精度整型实现fibonacci数列的方法

冯祺
2023-03-14
本文向大家介绍Java基于高精度整型实现fibonacci数列的方法,包括了Java基于高精度整型实现fibonacci数列的方法的使用技巧和注意事项,需要的朋友参考一下

本文以实例形式讲述了Java基于高精度整型实现fibonacci数列的方法,分享给大家供大家参考之用。具体方法如下:

package com.java.learning.recursion;
import java.math.*;
public class MainClass {
  public static void main(String args[]){
    for(int i = 0; i < 100; i++){
      f(i+1);
    }
  }
   
  public static BigInteger f(long n){
    if(n <= 2){
      return new BigInteger("1");
    }else{
      BigInteger n1 = new BigInteger("1");
      BigInteger n2 = new BigInteger("1");
      BigInteger temp = new BigInteger("0");
       
      for(long i = 0; i < n -2; i++){
        temp = n1.add(n2);
        n1 = n2;
        n2 = temp;
      }
      System.out.println("第" + n + "项为:" + n2);
      return n2;
    }
  }
}

希望本文所述对大家的Java程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Go语言实现Fibonacci数列的方法,包括了Go语言实现Fibonacci数列的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言实现Fibonacci数列的方法。分享给大家供大家参考。具体如下: Fibonacci数列:1,1,2,3,5,8,13,21,,, (即从第三项起,每一项的值都等于前两项之后) 第一种,使用递归: 第二种,不使用递归: 经过检验,使

  • 为什么此代码引发此异常: 线程“main”java.lang.ClassCastException:java.lang.Integer无法强制转换为java.lang.Double 而这个,运行良好: 两者都是尝试将整数转换为双精度,对吗?

  • 我有一个神经网络,它对3个输出进行分类。我的数据集非常小,我有340张火车图像和60张测试图像。我构建了一个模型,当我编译时,我的结果是: 纪元97/100 306/306 [==============================] - 46s 151ms/阶跃损失: 0.2453-精度: 0.8824-val_loss: 0.3557-val_accuracy: 0.8922纪元98/10

  • 问题内容: 我正在尝试以下代码: 打印三遍。我希望方法选择要考虑实际的(而不是声明的)参数类型。我想念什么吗?是否有修改此代码,以便它会打印的方式, 问题答案: 我希望方法选择要考虑实际的(而不是声明的)参数类型。我想念什么吗? 是。您的期望是错误的。在Java中,动态方法分派仅发生在调用方法的对象上,而不发生在重载方法的参数类型上。 引用Java语言规范: 调用方法时(第15.12节),实际参数

  • 本文向大家介绍c++加法高精度算法的简单实现,包括了c++加法高精度算法的简单实现的使用技巧和注意事项,需要的朋友参考一下 c++高精度算法,对于新手来说还是一大挑战,只要克服它,你就开启了编程的新篇章,算法。 我发的这个代码并不是很好,占用内存很多而且运行时间很长(不超过1秒),但是很好理解,很适合新手 高精算法的本质就是把数组编程字符串,然后将字符串像竖式一样加起来: 以上就是小编为大家带来的

  • 本文向大家介绍JavaScript基于setTimeout实现计数的方法,包括了JavaScript基于setTimeout实现计数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript基于setTimeout实现计数的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。