#include <iostream>
#include <vector>
#include "math.h"
using namespace std;
int main()
{
int n, m;
cin >> n >> m;//输入两个正整数
vector<int> src(m);//输入m个正整数源数据,容器存
int temp;
for (int i = 0; i != m; ++i)
{
cin >> temp;
src[i] = temp;
}
// 数组元素索引, 源数组索引, 子数组索引
int arrElement_index = 0, src_index = 0, subArr_index = 0;
vector<int> a(n);// another vector
//step 1: 第一个子数组最特殊,他由 m 序列【源数组】的第一个值确定,数目,大小一致
for (int i = 0; i != src[src_index]; ++i,++arrElement_index)
{
a[arrElement_index] = src[src_index];
cout << a[arrElement_index] << endl;
}
src_index = src_index % m;
++src_index;
//step 2: 一旦第一个数组确定,后面固定
while (arrElement_index != n)
{
++subArr_index;
for (int i = 0; i != a[src_index]; ++i,++arrElement_index) //循环次数
{
a[arrElement_index] = src[src_index];
cout << a[arrElement_index] << endl;
}
src_index = src_index % (m-1);
++src_index;
}
system("pause");
return 0;
}
【C++】【学习笔记】kolakoski序列:小探纯自然数学序列
最新推荐文章于 2024-07-07 20:49:10 发布