使用队列queue
数到m,先输出,然后pop
其他的先添加到队尾,再pop
#include <cstdio> #include <iostream> #include<string> #include<cstring> #include<cmath> #include<stdlib.h> #include<algorithm> #include<vector> #include<queue> using namespace std; int main() { int n,m; queue<int>q; cin>>n>>m; int a[105]; for(int i=1;i<=n;i++) { a[i]=i; q.push(a[i]); } for(int i=1;;i++) { if(i%m==0) { cout<<q.front()<<" "; q.pop(); } else { q.push(q.front()); q.pop(); } if(q.empty()) { break; } } cout<<endl; return 0; }