原题如下:
求斐波那契数列前n项的和值,斐波那契数列如下:
1,1,2,3,5,8,13,21……
前两位数是1,从第三位开始每位数都是前两位数之和。
import java.util.Scanner;
public class FibNumber {
public static void main(String[] args) {
System.out.print("请输入要求的项数N:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] f = new int[n]; //定义一个整形数组用于存放斐波那契数,好像用整形当项数N大于45时会发生溢出,产生错误结果
int sum = 0; //存放前N项之和
if(n<=0) { //处理特殊情况n<=0
System.out.println("项数必须是大与0的整数!");
} else if(n==1) { //处理特殊情况n=1
sum = 1;
System.out.println("斐波那契数列如下:\n1");
System.out.println("前" + n + "项之和为: " + sum);
} else if(n==2) { //处理特殊情况n=2
sum = 2;
System.out.println("斐波那契数列如下:\n1 1");
System.out.println("前" + n + "项之和为: " + sum);
} else { //处理一般情况n>=3
System.out.println("斐波那契数列如下:");
for(int i=0; i<f.length; i++) {
f[0] = 1;
f[1] = 1;
for(int j=3; j<=n; j++)
f[j-1] = f[j-2] + f[j-3]; //斐波那契数列各项之间的关系,不能用f[j]=f[j-1]+f[j-2],会发生数组越界异常
System.out.print(f[i] + "\t");
sum = sum + f[i];
if((i+1)%12==0) { //控制12个数为一行
System.out.println();
}
}
System.out.println(); //输出一个空行再显示前N项之和
System.out.println("前" + n + "项之和为: " + sum);
}
}
}
以上做法虽然可以达到目的,但不是最好的办法。大家有更好的方法希望多多交流。
分享到:
相关推荐
% 输出斐波那契数列的前一百项 disp(fibonacci) ``` 在这个MATLAB程序中,我们首先定义了斐波那契数列的前两项`fibonacci = [1, 2]`,然后通过`for`循环从第三项开始计算,直到第一百项。在每次循环中,我们使用`...
了解并掌握如何在Python中计算斐波那契数列的第n项,有助于提升编程能力,理解递归和迭代的概念,以及在实际问题中应用这些技术。无论是递归还是循环实现,它们都展示了如何用简洁的代码来解决复杂的问题,这对于...
6. **输出结果**:最终输出的是Fibonacci数列的前40项,每5项一行。 #### 扩展知识点 1. **递归算法**:除了迭代方法外,Fibonacci数列还可以通过递归的方式计算。递归算法直观但效率较低,尤其对于较大的数列项数...
接下来,我们将展示如何使用上面定义的`Fibonacci`类来输出前20项Fibonacci数列。 ```java public class Test { public static void main(String[] args) { Fibonacci f = new Fibonacci(); for (int i = 0; i ;...
- 另一个`for`循环用于输出计算得到的Fibonacci数列。为了使得输出更加整洁,每输出5个数字后会换行。 ### 特点与优化建议 #### 代码特点 - **简洁性**:代码非常简洁,易于理解。 - **效率**:由于使用了迭代而...
斐波那契数列定义如下:第一项和第二项分别为0和1,之后每一项都是前两项之和。用数学公式表示就是F(0) = 0,F(1) = 1,对于n > 1,F(n) = F(n-1) + F(n-2)。 在Java编程中,实现斐波那契数列有多种方法,包括递归...
这个数列的定义是这样的:第一项F0等于0,第二项F1等于1,从第三项开始,每一项都等于前两项之和。即Fn = Fn-1 + Fn-2 (n >= 3)。斐波那契数列的前几项为0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...。 在编程中,特别是...
菲波那切数列的前n项求和……用for循环做法
输出Fibonacci数列是一种使用循环来输出斐波那契数列的方法。该方法的思想是使用循环来输出斐波那契数列的每个数字。下面是一个输出Fibonacci数列的JAVA代码: public class Fib{ public static void main(String ...
斐波那契数列是一个经典的数学概念,在计算机科学中经常被用作算法...这段迭代代码同样可以输出斐波那契数列的前20项,但执行速度更快,特别是对于更大的 `n` 值。在实际编程中,应根据性能需求选择合适的算法实现。
如果你想要在控制台打印斐波那契数列的特定项,可以调用这个函数并传入所需的索引,例如`print(fibonacci(10))`会打印出第10项斐波那契数,即55。 在实际编程中,除了这种方法,还可以使用递归、动态规划或矩阵乘法...
在这个例子中,我们使用了一个简单的循环结构配合switch语句来计算斐波那契数列的前n项。首先,定义一个大小为n的整型数组f来存储每一项的值。在main函数中,通过scanf获取用户输入的项数n,然后清屏准备输出结果。 ...
【题目】大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)n<=39。 【思路】斐波那契数列:第n项是第n-1项和第n-2项的和; 当 n=0,f(n)=0; n=1,f(n)=1; n>1,f(n...
K阶斐波那契数列是这一概念的拓展,通常我们所说的斐波那契数列是二阶的,即F(0) = 0,F(1) = 1,而F(n) = F(n-1) + F(n-2),对于n大于1的情况。K阶斐波那契数列则是将这个公式扩展到了更高的阶数。 在这个C语言...
这个程序首先提示用户输入项数,然后调用`fibonacci`函数计算并打印出相应项的斐波那契数列。注意,为了简化代码,我们假设用户输入始终有效。在实际应用中,应当加入适当的错误处理机制,以增强程序的健壮性。 ...
在这个例子中,我们将深入理解如何用C语言编写程序来输出斐波那契数列的前40个数。 首先,斐波那契数列定义如下:F1 = 1,F2 = 1,然后对于n大于或等于3,Fn = Fn-1 + Fn-2。这个数列的特点是每一项都是前两项之和...
在`main`函数中,我们使用一个for循环来调用`fib`函数并打印出前`n`项的斐波那契数列。 ```c #include int fib(int n) { if (n ) { return n; } else { return fib(n - 1) + fib(n - 2); } } int ...
斐波那契数列的定义是这样的:第一项和第二项为1,从第三项开始,每一项都等于前两项之和。用数学公式表示就是 F(1) = 1, F(2) = 1, F(n) = F(n-1) + F(n-2) (n > 2)。 在C语言中,我们可以用多种方法来实现...
3. **循环输出斐波那契数列**: - `for (int i = 2; i ; i++) {` 循环20次,每次循环输出当前的`f1`和`f2`。 - `System.out.print(f1 + "" + f2 + "");` 输出当前的`f1`和`f2`,使用空字符串连接以确保输出格式...
这个数列的定义是:第一项F0为0,第二项F1为1,之后的每一项Fi(i >= 2)都是前两项之和,即Fi = Fi-1 + Fi-2。数列的初始几项是0, 1, 1, 2, 3, 5, 8, 13, ...。斐波纳契数列在自然界、艺术、音乐和许多科学领域都...