以下是使用 C++ 编写的解决方案:

#include <iostream>
#include <vector>

int main() {
    int x;
    std::cin >> x;

    for (int i = 0; i < x; i++) {
        int n;
        std::cin >> n;

        std::vector<int> sequence(n);

        // 构造序列
        int sum = 0;
        for (int j = 0; j < n; j++) {
            sequence[j] = (j + 1) * n;
            sum += sequence[j];
        }

        // 调整序列使其满足条件
        for (int j = 0; j < n; j++) {
            sequence[j] += (sum % n == 0) ? 0 : n - (sum % n);
        }

        // 输出序列
        for (int j = 0; j < n; j++) {
            std::cout << sequence[j] << " ";
        }
        std::cout << std::endl;
    }

    return 0;
}

输入示例:

3
3
4
5

输出示例:

9 6 9 
16 20 16 20 
25 30 35 30 25 
``
输入:一个数x表示x个测试点随后有x个n构造一个长度为 n 的序列 a1 a2 至 an使:每个元素小于1000第i个元素可被i整除所有元素之和能被 n 整除每个测试点的回答用换行隔开你用c++编程有点问题请重新编写

原文地址: http://www.cveoy.top/t/topic/ij5I 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录