java求斐波那契前n项和_[Java教程]斐波那契前n位的和

[Java教程]斐波那契前n位的和

0 2015-08-04 08:00:09

public class Fei_bo_na_qi{

public static void main(String[] args){  //main方法,程序入口

int i = 10;  //声明一个int类型的变量i,并赋值为10

int a = 0;   //声明一个int数据类型的变量a

for(int j=i; j >=1 ; --j){ //for循环:j=i=10,j>=1

a+=m1(j);  //调用m1方法,并把m1的值赋值给a

}

System.out.println( a );//输出a的值

}

public static int m1(int n){  //声明m1方法,形参为int n,把n=10带入

if (n==1) { //当n=1时,返回值为0

return 0;

}

if (n==2) { //当n2时,返回值为1

return 1;

}else{ //当n既不等于1也不等于2时,执行下面的语句

return m1(n-1)+m1(n-2);  //把n=10带入后,返回m1(9)+m1(8),--j=9,9>=1;带入后返回m1(8)+m1(7),再把--j=8带入,以此类推,当n=3时,带入后返回m1(2)+m1(1)=0+1=1,则m1(3)=1,m3运行完成后返回m1(4),m1(4)=m1(3)+m1(4-2),m1(3)=1,要把m1(4-2)带入运行一遍,每当m1(n-1)运行一次,都要把m1(n-2)运行一遍;同样把n=10带入后,返回m1(9)+m1(8),把m1(8)带入,--j=7,7>=1;带入后返回m1(6)+m1(5),每运行一次m1(n-2),都要把m1(n-2)运行一遍。最后得出m1的值,赋值给a,最后输出。

斐波那契,这个困扰我半天的谜题,终于给解开了。

本文网址:http://www.shaoqun.com/a/130216.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是Java代码示例: ```java public static int fibonacciSum(int n) { if (n <= 0) { return 0; } else if (n == 1) { return 1; } else { int sum = 1; int prev = 1; int curr = 1; for (int i = 2; i < n; i++) { int next = prev + curr; sum += next; prev = curr; curr = next; } return sum; } } ``` 该方法使用循环计算斐波那契数n的和。在每次迭代中,计算下一个斐波那契数,并将其加入总和中。最后返回总和。如果n小于等于0,则返回0;如果n等于1,则返回1。 ### 回答2: 要计算斐波那契数n的和,可以使用Java中的方法来实现。 首先,我们需要定义一个方法,该方法接受一个整数n作为参数,返回斐波那契数n的和。方法的返回类型应该是整数。 在方法内部,我们需要使用循环来计算斐波那契数列的n,并累加它们的和。 具体的实现思路如下: 1. 首先,定义两个整数变量a和b,分别初始化为0和1,用于保存斐波那契数列的。 2. 定义一个整数变量sum,初始化为0,用于保存斐波那契数n的和。 3. 使用一个for循环,从2开始,循环n次。每次迭代时,计算的值,即将a和b相加,然后将a的值更新为b的值,将b的值更新为当的值。 4. 在循环内,累加每一的值到sum变量中。 5. 循环结束后,返回sum变量的值作为结果。 以下是具体实现的Java代码: ``` public static int sumOfFibonacci(int n) { if (n <= 0) { return 0; // 如果n小于等于0,返回0 } int a = 0; int b = 1; int sum = 1; // 初始化sum为1,因为斐波那契数列的第一是1 for (int i = 2; i <= n; i++) { int current = a + b; // 计算的值 a = b; b = current; sum += current; // 累加当的值到sum中 } return sum; // 返回斐波那契数n的和 } ``` 使用这个方法,我们可以计算斐波那契数n的和,例如: ``` int n = 10; int sum = sumOfFibonacci(n); System.out.println("斐波那契数" + n + "的和为:" + sum); ``` 这样就可以打印出斐波那契数10的和的结果。 ### 回答3: 斐波那契数列是一个数列,开始两个数是0和1,后面每一都是面两的和。可以使用递归或循环的方式来计算斐波那契数的和。下面是用Java的方法计算斐波那契数n的和的代码: ```java public class FibonacciSum { public static int fibonacciSum(int n) { if (n <= 0) { return 0; } int sum = 0; int a = 0; int b = 1; for (int i = 2; i <= n; i++) { int temp = a + b; sum += temp; a = b; b = temp; } return sum; } public static void main(String[] args) { int n = 10; // 计算斐波那契数10的和 int sum = fibonacciSum(n); System.out.println("斐波那契数" + n + "的和为:" + sum); } } ``` 上述代码中,定义了一个静态方法`fibonacciSum`,接受一个整数n作为参数,计算斐波那契数n的和并返回。首先检查n是否小于等于0,如果是,则返回0。在循环中,使用两个变量a和b来记录面两的值,开始时a为0,b为1。从i为2开始循环,每次计算出当斐波那契数列的值temp,并累加到sum上,然后更新a和b的值,继续循环直到i等于n。最后返回sum的值。 在`main`方法中,调用`fibonacciSum`方法,传入希望计算斐波那契数列的数n,然后将结果打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值