当前位置:首页 » 编程语言 » 斐波那契数列java

斐波那契数列java

发布时间: 2022-12-15 00:10:31

㈠ 1)java实现计算斐波那契数列第n项值的方法.

其实就是一个递归算法,如下:
public class Test {
public static void main(String[] args) {
System.out.println(f(6));
}
public static int f(int n){
if(n==1||n==2){
return 1;
}else{
return f(n-1)+f(n-2);
}
}
}

㈡ JAVA大神求教,斐波那契数列大家都非常熟悉

publicclassFibonacci{
publicstaticvoidmain(String[]args){

show1();////定义数组方法

show2();//使用递归方法

show3();//定义三个变量方法
}
//方法1:定义数组方法
privatestaticvoidshow1(){
intarr[]=newint[20];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契数列的前20项如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+" ");
}
}
//方法2:使用递归方法
publicstaticvoidshow2(){
System.out.println(" 斐波那契数列的前20项为:");
for(intj=1;j<=20;j++){
System.out.print(getFibo(j)+" ");
if(j%5==0)
System.out.println();
}
}
privatestaticintgetFibo(inti){
if(i==1||i==2)
return1;
else
returngetFibo(i-1)+getFibo(i-2);
}
//方法3:定义三个变量方法
privatestaticvoidshow3(){
inta=1,b=1,c=0;
System.out.println(" 斐波那契数列前20项为:");
System.out.print(a+" "+b+" ");
//因为前面还有两个1、1所以i<=18
for(inti=1;i<=18;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+" ");
if((i+2)%5==0)
System.out.println();
}
}
}

㈢ 用JAVA数组来求斐波那契数列前20项: 1 1 2 3 5 8 ….

publicclassDemo{
publicstaticvoidmain(String[]args){

intn=20;
intsum=0;
for(inti=1;i<=n;i++){
System.out.print(fibo(i)+" ");
sum+=fibo(i);
}
System.out.println(" 菲波那契数列的前20项和为:"+sum);
}

privatestaticintfibo(intn){
if(n==1)
return1;
if(n==2)
return1;
returnfibo(n-1)+fibo(n-2);
}
}

数组法:
publicclassDemo{
publicstaticvoidmain(String[]args){
int[]array=newint[20];
array[0]=1;
array[1]=1;
intsum=0;
for(inti=2;i<array.length;i++){
array[i]=array[i-1]+array[i-2];
}
//遍历数组并累计
for(inti=0;i<array.length;i++){
sum+=array[i];
}
//输出和
System.out.println(" 菲波那契数列的前20项和为:"+sum);
}
}

㈣ 用java编写程序,判断输出的是否是斐波那契数列

publicclassC{
publicstaticvoidmain(String[]args){
intf0=0;
intf1=1;
intm=8;//检测目标
booleank=true;
if(m==f0||m==f1){
k=false;
System.out.println("yes");
}elseif(m<f1){
k=false;
System.out.println("no");
}
while(k){
f0=f0+f1;
f1=f1+f0;
if(m==f0||m==f1){
k=false;
System.out.println("yes");
}elseif(m<f1){
k=false;
System.out.println("no");
}
}
}
}

㈤ java 编写程序,输出斐波那契数列前30项中的所有质数

人比较懒,不想自己写,说下大概:循环1~30,
斐波那契数列递归:F0=0,F1=1,Fn=F(n-1)+F(n-2)
质数判定:在本身除以(循环2~本身开更号)判定余数为0就不是质数。
之后输出。

㈥ java 怎么编写斐波那契数列 之和 急求

import java.util.Scanner;
public class test{
public static void main(String[] args) {
long numA = 0;
long numB = 0;
long temp = 0;
long sum = 0;
System.out.print("请输入要计算的项数:");
long num = new Scanner(System.in).nextLong();
for (int i = 1; i <= num; i++) {
if (i == 1 || i == 2) {
numA = 1;
numB = 1;
temp = 1;
}else{
temp = numA + numB;
numA = numB;
numB = temp;
}
sum += temp;
}
System.out.println("斐波拉切数列前" + num + "项和是:"+sum);
}
}

㈦ java 斐波那契数列

importjava.util.Scanner;
/**
*斐波那契数列:第0项是0,第1项是第一个1。
这个数列从第三项开始,每一项都等于前两项之和
*@authoryoung
*
*/
publicclassFei{
publicstaticvoidfunc(intn){
if(n<3){
System.out.println("0,1");
}elseif(n>3){
inta=0,b=1,c=0;
System.out.print(a+""+b+"");
for(inti=3;i<=n;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+"");
}
}elseif(n<0){
System.out.println("输入数字不符合要求");
}
}
publicstaticvoidmain(String[]args){
Feif=newFei();
Scannerinput=newScanner(System.in);
System.out.print("请输入斐波那契数列的列数n,按ENTER:");
intnum=input.nextInt();
System.out.println("斐波那契数列为:");
func(num);
}
}

正确的代码

㈧ java语言用数组输出Fibonacci数列:1 1 2 3 5 8 13....前20

方法如下供参考:

publicclassTest{

publicstaticvoidmain(String[]args){

intintArrary[]=newint[20];
intArrary[0]=intArrary[1]=1;

for(inti=2;i<intArrary.length;i++){
intArrary[i]=intArrary[i-1]+intArrary[i-2];
}

System.out.println("Fibonacci数列:11235813....前20如下所示:");
for(inti=0;i<intArrary.length;i++){
if(i%5==0)

System.out.println();
System.out.print(intArrary[i]+" ");
}
}
}

㈨ 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编程:三种方法实现斐波那契数列


其一方法:

publicclassDemo2{
//定义三个变量方法
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.println("斐波那契数列前20项为:");
System.out.print(a+" "+b+" ");
//因为前面还有两个1、1所以i<=18
for(inti=1;i<=18;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+" ");
if((i+2)%5==0)
System.out.println();
}
}

}
  • java编程:三种方法实现斐波那契数列


其二方法:

publicclassDemo3{
//定义数组方法
publicstaticvoidmain(String[]args){
intarr[]=newint[20];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契数列的前20项如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+" ");
}
}

}
  • Java编程:三种方法实现斐波那契数列

其三方法:

publicclassDemo4{
//使用递归方法
privatestaticintgetFibo(inti){
if(i==1||i==2)
return1;
else
returngetFibo(i-1)+getFibo(i-2);
}

publicstaticvoidmain(String[]args){
System.out.println("斐波那契数列的前20项为:");
for(intj=1;j<=20;j++){
System.out.print(getFibo(j)+" ");
if(j%5==0)
System.out.println();
}
}

}

同一道题用各种不同的思路去思考解决,也是对知识综合运用的锻炼。

热点内容
安卓手机锁了怎么开 发布:2025-01-23 17:21:18 浏览:136
经济学算法 发布:2025-01-23 17:13:46 浏览:420
如何和软件联系服务器 发布:2025-01-23 17:13:00 浏览:800
javacrc16算法 发布:2025-01-23 17:11:31 浏览:224
编程加图片 发布:2025-01-23 17:10:33 浏览:567
中国风网站源码 发布:2025-01-23 17:05:56 浏览:679
pythonfilter用法 发布:2025-01-23 17:04:26 浏览:569
java转number 发布:2025-01-23 16:58:11 浏览:477
解压的英语作文 发布:2025-01-23 16:45:05 浏览:969
湖南首选dns服务器地址 发布:2025-01-23 16:06:39 浏览:874