【C++】【学习笔记】kolakoski序列:小探纯自然数学序列

xiaoxiao2021-02-28  89

#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; }
转载请注明原文地址: https://www.6miu.com/read-28941.html

最新回复(0)