You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java技术问题:如何用数组逆序打印斐波那契数列(从4181到0)

实现斐波那契数列逆序打印(从4181到0)

嘿,很高兴你已经能搞定斐波那契数列的正向打印了!要实现逆序输出从4181到0的序列,用数组其实没那么复杂,咱们拆解成几步来做:

第一步:先把斐波那契数列存进数组里

首先得把包含4181在内的所有斐波那契项(从0开始)都存到数组或者列表里。举个Python的例子,代码很直观:

fib_array = []
a, b = 0, 1
# 循环生成数列,直到加入4181为止
while a <= 4181:
    fib_array.append(a)
    a, b = b, a + b

跑完这段代码,fib_array里就会有[0, 1, 1, 2, 3, 5, ..., 4181]这些元素了。

第二步:把数组逆序处理

接下来就是把数组倒过来,不同语言有不同的简便方法:

  • Python里的快速操作:可以用切片直接生成逆序数组
    reversed_fib = fib_array[::-1]
    
    或者直接修改原数组:
    fib_array.reverse()
    
  • 其他语言(比如Java/C++):可以手动从数组的最后一个索引开始往前遍历,不用特意反转数组,直接打印就行。

第三步:打印逆序后的序列

最后一步就是把逆序后的数组逐个打印出来。Python的话:

for num in reversed_fib:
    print(num)

要是用Java,直接在遍历逆序索引的时候打印:

import java.util.ArrayList;
import java.util.List;

public class ReverseFibonacci {
    public static void main(String[] args) {
        List<Integer> fibList = new ArrayList<>();
        int a = 0, b = 1;
        while (a <= 4181) {
            fibList.add(a);
            int temp = a;
            a = b;
            b = temp + b;
        }
        // 从最后一位开始往前打印
        for (int i = fibList.size() - 1; i >= 0; i--) {
            System.out.println(fibList.get(i));
        }
    }
}

核心思路其实就是先收集正向的斐波那契数列,再逆序输出,不管用什么语言,这个逻辑都是通用的。这样就能得到从4181到0的逆序序列啦!

内容的提问来源于stack exchange,提问作者user9414505

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:19:18