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程序设计有所帮助。
相关推荐
-
浅谈Java中的高精度整数和高精度小数
在实际编码中,会遇到很多高精度的事例,比如,在计算金钱的时候就需要保留高精度小数,这样计算才不会有太大误差: 在下面的代码中,我们验证了,当两个float型的数字相加,得到的结果和我们的预期结果是有误差的,为了减小和防止这种误差的出现,我们需要使用BigInteger类和BigDecimal类来计算. package com.ietree.base.number; import java.math.BigDecimal; import java.math.BigInteger; public c
-
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(
-
Java基于Runtime调用外部程序出现阻塞的解决方法
本文实例讲述了Java基于Runtime调用外部程序出现阻塞的解决方法, 是一个很实用的技巧.分享给大家供大家参考.具体分析如下: 有时候在java代码中会调用一些外部程序,比如SwfTools来转换swf.ffmpeg来转换视频等.如果你的代码这样写:Runtime.getRuntime().exec(command),会发现程序一下就执行完毕,而在命令行里要执行一会,是因为java没有等待外部程序的执行完毕,此时就需要使用阻塞,来等待外部程序执行结果: InputStream stderr
-
Go语言实现Fibonacci数列的方法
本文实例讲述了Go语言实现Fibonacci数列的方法.分享给大家供大家参考.具体如下: Fibonacci数列:1,1,2,3,5,8,13,21,,, (即从第三项起,每一项的值都等于前两项之后) 第一种,使用递归: 复制代码 代码如下: func fibonacci(a int) int { if a == 1 || a == 2 { return 1 } return fibonacci(a-1) + fibonacci(a-2) } 第
-
java基于dom4j包实现对XML解析的方法
本文实例讲述了java基于dom4j包实现对XML解析的方法.分享给大家供大家参考,具体如下: 本例中的xml文件内容如下: <?xml version = "1.0" encoding="UTF-8"?> <!-- Copyright 难免有错 这是注释--> <自定义的> <!-- iloveyou --> <你喜欢的名字就好> <who a = "i"></who
-
Java基于servlet监听器实现在线人数监控功能的方法
本文实例讲述了Java基于servlet监听器实现在线人数监控功能的方法.分享给大家供大家参考,具体如下: 1.分析: 做一个网站在线人数统计,可以通过ServletContextListener监听,当Web应用上下文启动时,在ServletContext中添加一个List.用来准备存放在线的用户名,然后通过HttpSessionAttributeListener监听,当用户登录成功,把用户名设置到Session中.同时将用户名方法到ServletContext的List中,最后通过HttpS
-
go实现整型的二进制转化的方法
go中已经实现了int->bin的转化函数,我这里只是化过程逻辑的实现,至于原理我就假设大家都知道了 本案例只考虑 int->bin 的转化 包含了正整数,负整数,0 的转化 package main import ( "fmt" "strconv" ) //bin表示转化后的位数 func convertToBin(n int,bin int) string{ var b string switch { case n==0: for i:=0;i&l
-
Java基于反射机制实现全部注解获取的方法示例
本文实例讲述了Java基于反射机制实现全部注解获取的方法.分享给大家供大家参考,具体如下: 一 代码 class Info{ //给mytoString方法加了2个内建Annotation @Deprecated @SuppressWarnings(value = "This is a waring!") public String mytoString(){ return "hello world"; } } class GetAnnotations{ publi
-
C#中将字符串转换为整型的三种解决方法总结
在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法:(1)使用强制类型转换:(int)浮点数 (2)使用Convert.ToInt32(string)(3)使用int.Parse(string)或int.TryParse(string,out int) 在实际使用时,当要转换的字符串或数字带有小数时,发现它们有以下区别:(1)方法一:截断 方法二:四舍五入int a=(int)2.8; //结果为2int b=Convert.ToInt32(2.8); //b的值为3(2)int.P
-
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
本文实例讲述了Python基于递归算法实现的汉诺塔与Fibonacci数列.分享给大家供大家参考,具体如下: 这里我们通过2个例子,学习python中递归的使用. 1. 找出Fibonacci数列中,下标为 n 的数(下标从0计数) Fibonacci数列的形式是这样的:0,1,1,2,3,5,8,13-- ① 使用while循环,python2代码如下: def fib(n): a,b=0,1 count=0 while count<n: a,b=b,a+b count=count+1 pri
-
java并发JUC工具包AtomicInteger原子整型语法基础
目录 1.AtomicInteger基础用法 2.什么时候需要使用AtomicInteger 2.1.原子计数器场景 2.2.数值比对及交换操作 3.总结 AtomicInteger 类底层存储一个int值,并提供方法对该int值进行原子操作.AtomicInteger 作为java.util.concurrent.atomic包的一部分,从Java 1.5开始引入. 1. AtomicInteger基础用法 通过下文的AtomicInteger构造方法,可以创建一个AtomicInteger对
随机推荐
- CentOS 7快速安装jdk
- Python正则表达式匹配HTML页面编码
- 正则表达式详述 三
- docker运行容器远程挂载卷的方法
- js jquery数组介绍
- 中文Access2000速成教程--1.8 定义表之间的关系
- Oracle 查找与删除表中重复记录的步骤方法
- 深入理解python中的浅拷贝和深拷贝
- 纯JS代码实现气泡效果
- JavaScript检测实例属性, 原型属性
- python获取指定时间差的时间实例详解
- 各种AJAX方法的使用比较详解
- jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
- jWiard 基于JQuery的强大的向导控件介绍
- jquery实现滑屏大图定时收缩为小banner图片的广告代码
- BootStrap Table 后台数据绑定、特殊列处理、排序功能
- 深入浅析search 搜索框的写法
- 微信小程序 用户数据解密详细介绍
- Java创建类模式_动力节点Java学院整理
- javascript实现的像java、c#之类的sleep暂停的函数代码