当前位置: 首页 > 知识库问答 >
问题:

如何打印斐波那契数列,每四个数字跳过一次,用X代替跳过,并从0开始

富凯旋
2023-03-14

/*I可以输出:0,1,1,X2,3,5,8,X13,21,34,55,X89,144,233,377,X610,987,1597,2584,X4181,6765,但是,我似乎可以让它跳过这些数字,用Q代替它们。:(

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

public class FibonacciSequence {

    public static void main(String[] args) {
        long f = 0;
        List<Integer> testList = new ArrayList<Integer>();
        boolean executed;
        for(int i = 1; i<=21; i++) {

            f = fib(i);
            String space = ", ";
            if(i%4==0) {
                String x = "X";
                System.out.print(x);                
            }
            System.out.print(fib(i) + ", ");
        }
    }
    private static long fib(int i) { 
        if (i == 1) {
            return 0;
        }
        if (i <= 2) {
            return 1;
        }
        else {
            return fib(i-1)+fib(i-2);
        }
    }   
}

共有1个答案

曾瀚昂
2023-03-14

假设我理解您的问题,请在您的if之外使用else。我清理了main方法,删除了不使用的变量。在检查我们不在第一个元素上之后,我会简单地将前置。比如,

public static void main(String[] args) {
    for (int i = 1; i <= 21; i++) {
        if (i != 1) {
            System.out.print(", ");
        }
        if (i % 4 == 0) {
            System.out.print("X");
        } else {
            System.out.print(fib(i));
        }
    }
}
 类似资料:
  • 主要内容:递归生成斐波那契数列,总结公元 1202 年,意大利数学家莱昂纳多·斐波那契提出了具备以下特征的数列: 前两个数的值分别为 0 、1 或者 1、1; 从第 3 个数字开始,它的值是前两个数字的和; 为了纪念他,人们将满足以上两个特征的数列称为斐波那契数列。 如下就是一个斐波那契数列: 1 1 2 3 5 8 13 21 34...... 下面的动画展示了斐波那契数列的生成过程: 图 1 斐波那契数列 很多编程题目要求我们输

  • 题目链接 NowCoder 题目描述 求斐波那契数列的第 n 项,n <= 39。 <!--1}\end{array}\right." class="mathjax-pic"/> --> 解题思路 如果使用递归求解,会重复计算一些子问题。例如,计算 f(4) 需要计算 f(3) 和 f(2),计算 f(3) 需要计算 f(2) 和 f(1),可以看到 f(2) 被重复计算了。 递归是将一个问题划分

  • Python3 实例 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。 Python 实现斐波那契数列代码如下: 实例(Python 3.0+)# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com

  • 问题内容: 我最初对程序进行了错误编码。我没有为程序返回范围内的斐波那契数(即startNumber 1,endNumber 20应该仅= 1和20之间的那些数字),而是为程序编写了显示范围内的所有斐波那契数(即startNumber 1,endNumber 20)显示=前20个斐波那契数字)。我以为我有一个确定的代码。我也看不出为什么会这样。 有人在我的第二部分中指出了这一点(由于重复而被关闭-

  • 问题内容: 关门了 。这个问题需要更加集中。它当前不接受答案。 想要改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 改善这个问题 如何在SQL中生成斐波那契数列! 我需要生成斐波那契数列0 1 1 2 3 5 8 13 21 … N 我使用C代码轻松做到了这一点,我需要使用Sql做到这一点! 问题答案: 试试这个 ! 0 1 1 2 3 5 8 13 21 34 5

  • 本文向大家介绍手写代码:斐波那契数列相关面试题,主要包含被问及手写代码:斐波那契数列时的应答技巧和注意事项,需要的朋友参考一下 参考回答: