输入:一个数x表示x个测试点随后有x个n构造一个长度为 n 的序列 a1 a2 至 an使:每个元素小于1000第i个元素可被i整除所有元素之和能被 n 整除每个测试点的回答用换行隔开你用c++编程有点问题请重新编写
以下是使用 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
``
原文地址: http://www.cveoy.top/t/topic/ij5I 著作权归作者所有。请勿转载和采集!