斐波那契数列 java//这里采用两种方法实现该数列
//第一种方法:用递归调用相加,实现简单,但效率极低
//第二种方法:比第一种略显复杂,但效率高
//------------------------------------------------------------
import java.util.Scanner;
public class Fibonacci {
//方法1:递归方式
public static long getFibonacci1(long count){
if(count=1){
return 1;
}
return getFibonacci1(count-1)getFibonacci1(count-2);//递归调用
}
//方法2:非递归方式,复杂一点,但效率比方法1高
public static long getFibonacci2(long count){
if(count=1){
return 1;
}
long temp = 0;
long prev = 1;
long next = 1;
for (long i = 2; i =count; i) {
temp = prev next;
prev = next;
next = temp;
}
return temp;
}
public static void main(String[] args) {
System.out.println("请输入你要列出的项数,以回车结束:");
//控制台输入
Scanner s = new Scanner(System.in);
//输入的项数
int inputNum = s.nextInt();
System.out.println("得出斐波那契数列前" inputNum "项如下:");
for (long i = 0; iinputNum; i) {
//方式1
//System.out.prlong(getFibonacci1(i) " ");
//方式2
System.out.print(getFibonacci2(i) " ");
}
}
}
用JAVA表示斐波那契数列 急急急?。。。?/h2>public class Fibonacci {
// 能够被显示java斐波那契代码的最大项
private static final long MAX_TERM_VALUE = https://www.04ip.com/post/10000;
public void run() {
long fibonacci_1 = 0L;
long fibonacci = 1L;
System.out.println(fibonacci_1);
while (fibonacciMAX_TERM_VALUE) {
System.out.println(fibonacci);
long temp = fibonacci_1fibonacci;
fibonacci_1 = fibonacci;
fibonacci = temp;
}
}
public static void main(String[] args) {
new Fibonacci().run();
}
}
如何用java语言输出斐波那契数列?具体代码如下:
public class Test {
public int fib(int n)
{
if(n==1 || n==2)//当n=1或2时 返回1
{
return 1;
}
return fib(n-1) fib(n-2);//返回前两项的和
}
public static void main(String[] args) {
Test t = new Test();
for (int i = 1; i = 15; i) {
System.out.printf ("fib(%d)=%d\n",i,t.fib(i));
}
}
}
运行结果:
fib(1)=1
fib(2)=1
fib(3)=2
fib(4)=3
fib(5)=5
fib(6)=8
fib(7)=13
fib(8)=21
fib(9)=34
fib(10)=55
fib(11)=89
fib(12)=144
fib(13)=233
fib(14)=377
fib(15)=610
java语言解决斐波那契数列问题public class zuoye{
public static void main(String[] args){
int num1=1,num2=1;//设定前两位数初始值
int num=0; //把变量mun赋值为0是什么意思?在后面有什么用?
答: num赋值初始化为0, 不然为null.
System.out.println(num1 "\\t" num2 "\\t" (num1 num2)); //显示输出数列的前三位
这个上面的打印的结果和后面循环的结果应该是分开的,也就是前面打印
1 1 2 然后换行,然后再通过循环打印10个数字.
接下来我们看循环部分.
斐波那契数列公式是
F1=1
(n=1)
F2=1
(n=2)
Fn=F(n-1) F(n-2)
(n=3)
所以,
for(int i=1;i=10;i){ //for循环
int num3=num num2; //num num2 ??num加num2干什么?
答:num是个中间变量, 用来传值, 赋给num的值永远是F(n-1)
num2=num; //为什么又把num赋值给num2?
答: 赋给num2的值永远是F(n-2). 这里因为num的值在上一个循环里为F(n-1),到下一个循环应该是F(n-2).所以赋给num2.
num=num3; // num3再赋给num?
答: 因为赋给num的值永远是F(n-1), 这里因为num3的值到下一个循环应该就是F(n-1).所以赋给num.
System.out.print("\\t" num3);
if(i%5==0){ //i能被5整除.为什么要设定一个这样的判断条件?
答: 这里是每五个数打印一个换行符.
System.out.println(); //输出空的是什么意思?
答: 这里是打印一个换行符
}
}
}
【java斐波那契代码 java 斐波那契编程】}
关于斐波那契数列Java编程思路:
斐波那契数列
第0项是0java斐波那契代码 , 第1项是第一个1 。
这个数列从第三项开始,每一项都等于前两项之和 。
java代码如下:
import java.util.Scanner;
/**
* 斐波那契数列
第0项是0,第1项是第一个1 。
这个数列从第三项开始,每一项都等于前两项之和
* @author young
*
*/
public class Fei {
public static void func(int n) {
if (n3) {
System.out.println("0,1");
} else if (n3) {
int a=0, b=1, c=0;
System.out.print(a""b"");
for (int i = 3; i = n; i) {
c = ab;
a = b;
b = c;
System.out.print(c"");
}
} else if (n0) {
System.out.println("输入数字不符合要求");
}
}
public static void main(String[] args) {
Fei f = new Fei();
Scanner input = new Scanner(System.in);
System.out.print("请输入斐波那契数列java斐波那契代码的列数n,按ENTER:");
int num = input.nextInt();
System.out.println("斐波那契数列为:" );
func(num);
}
}
运行结果如下:
java斐波那契代码的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于java 斐波那契编程、java斐波那契代码的信息别忘了在本站进行查找喔 。
推荐阅读
- 鲁班大师直播录屏视频,鲁班大师操作技巧
- redishash唯一,redishash和string区别
- 520万oracleerp项目失败之谜,oracle erp 操作手册
- 安卓机视频竖屏锁定,安卓手机视频竖版怎么变横版
- go线图R语言 r语言ggplot绘制曲线图
- 客厅电视机上放什么植物好,适合客厅电视墙摆放的植物
- 麦芒七升级鸿蒙,麦芒七能用鸿蒙系统吗
- 央视四子直播带货销售额,央视直播带货销售额达到多少
- php怎么关联数据 php与mysql关联查询