java先将Fibonacci数列前20项存到数组里面,然后编程打印反向输出Fibonacci数列的前二十个数。Fibonacci数列是第一和第二个数都是1,以后每个数是前两个数之和
时间: 2023-11-27 21:50:08 浏览: 83
以下是Java代码实现:
```java
public class FibonacciReverse {
public static void main(String[] args) {
int[] fib = new int[20];
fib[0] = 1;
fib[1] = 1;
for (int i = 2; i < 20; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
for (int i = 19; i >= 0; i--) {
System.out.print(fib[i] + " ");
}
}
}
```
首先定义一个长度为20的整数数组 `fib`,并将前两个元素赋值为1。然后使用循环计算出数组中剩余的元素,即每个元素都等于前两个元素之和。
接着使用另一个循环倒序遍历数组,从最后一个元素开始输出每个元素的值。最终输出的结果即为反向输出的前20个斐波那契数。
相关问题
反向输出斐波那契数列前20项c++代码
在C++中,反向输出斐波那契数列前20项通常意味着从序列的第20项开始向前递减地显示。下面是一个简单的示例代码,它首先计算前20项斐波那契数,然后倒序打印:
```cpp
#include <iostream>
using namespace std;
// 斐波那契函数,返回第n项的值
long long fibonacci(int n) {
if (n <= 0) return 0;
if (n == 1) return 1;
long long a = 0, b = 1;
for (int i = 2; i <= n; ++i) {
long long temp = a + b;
a = b;
b = temp;
}
return b;
}
// 主函数,反向输出斐波那契数列前20项
void printReverseFibonacci(int n) {
vector<long long> fib(n);
// 计算并存储前20项斐波那契数
for (int i = 0; i < n; ++i) {
fib[n - 1 - i] = fibonacci(i + 1);
}
// 反向打印
for (int i = 0; i < n; ++i) {
cout << fib[i] << " ";
}
cout << endl;
}
int main() {
int num = 20;
printReverseFibonacci(num);
return 0;
}
```
斐波那契数列的反推C语言
斐波那契数列通常是指这样一个数列:0、1、1、2、3、5、8、13、21……每个数字是前两个数字之和。如果你想通过这个数列的某个项反推出前面的项,其实这涉及到逆运算,但在实际编程中,由于斐波那契数列的递推性质,我们不需要特别的反向计算,而是可以直接从给定项开始向前推。
在C语言中,如果你有一个已知的斐波那契数,例如你想知道它之前的一项,你可以编写这样的函数:
```c
#include <stdio.h>
// 定义斐波那契数列的前两项
int fibonacci(int n) {
if (n <= 1)
return n;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
// 反推上一项
int prev_fibonacci(int fib_num) {
int a = fib_num, b = 0, c = 1; // 初始化a作为较大的数,b为较小的数
while (fib_num > b) {
int temp = a;
a = b;
b = temp - b;
}
return a;
}
int main() {
int fib_term, prev_term;
printf("请输入一个斐波那契数:");
scanf("%d", &fib_term);
prev_term = prev_fibonacci(fib_term);
printf("给定数 %d 的前一项是 %d\n", fib_term, prev_term);
return 0;
}
```
在这个程序中,`prev_fibonacci` 函数会不断将较大的数 `a` 赋值给当前的斐波那契数 `fib_num` 直到找到满足条件的前一项。
阅读全文