一道简单编程问题求解

输出序列1 2 5 14 4 等的前20项(即从第2项开始,每一项为其前1项的值乘3后减1),要求分4行输出,每行5个。


#include <iostream>

using namespace std;

int main() {
    int num = 1;
    for (int i = 1; i <= 20; i++) {
        if ((i - 1) % 5 == 0) {
            cout << endl;
        }
        cout << num << " ";
        num = num * 3 - 1;
    }
    return 0;
}

public class SequenceGenerator {
    public static void main(String[] args) {
        int num = 1;
        for (int i = 1; i <= 20; i++) {
            if ((i - 1) % 5 == 0) {
                System.out.println();
            }
            System.out.print(num + " ");
            num = num * 3 - 1;
        }
    }
}


def generate_sequence():
    yield 1
    num = 1
    while True:
        num = num * 3 - 1
        yield num

seq = generate_sequence()
for i in range(20):
    if i % 5 == 0:
        print()
    print(next(seq), end=' ')