如何使用while循环生成序列1、1、1、2、2、3、4、5、7、9中的前12个数字?

时间:2018-11-09 13:43:06

标签: java

我想出了计算公式的公式,即使用序列中的每个数字使用先前的先前的先前数字+先前的先前的数字,例如,使用先前的x3来获得数字4,即序列中的前2个加上前一个x2号,后者是序列中的第二个2。我知道我必须使用4个变量,然后在循环中相应地交换数字,但是我不知道该怎么做。 这是我到目前为止所拥有的。

    System.out.print("Loop for the first 12 terms of sequence 1, 1, 1, 2, 2, 3, 4, 5, 7, 9\n");
            int p0, p1, p2, p3, c;// c in control p is num is sequence.
            c=0;
            p0=1;
            p1=1;
            p2=1;
            p3=p0+p1;
            while(c<=12){
                System.out.print(p0+","+p1+","+p2+","+p3+",");
                c++;
            }

这只是给我序列的前4个数字12次。我是否必须对下一个数字使用完全不同的while循环,还是可以在同一循环中使用它? 任何帮助表示赞赏。谢谢。

2 个答案:

答案 0 :(得分:1)

您可以尝试此代码。这将为您提供结果:

public static void main(String[] args) {

    int limit = 12;

    int value1 = 1;
    int value2 = 1;
    int value3 = 1;

    for(int i = 0; i < limit; ++i) {
        if(i == 0) {
            System.out.println(value1);
            System.out.println(value2);
        }
        System.out.println(value3);

        int temp = value3;
        value3 = value1 + value2;
        value1 = value2;
        value2 = temp;
    }

}

答案 1 :(得分:-1)

您可以这样做:

初始化一个由12个数字组成的数组

在数组中输入起始序列(序列中有10个数字)

给出序列中最后一个数字的迭代变量索引

应用您的公式并找到值

增加迭代器的值

所有操作都可以在一个while循环内完成,而无需另一个。另外,请确保不要获取ArrayIndexOutOfBoundsException