围圈报数

通过进栈出栈实现循环

#include<iostream>
#include<queue>
using namespace std;
queue<int> q;
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	    q.push(i);
	int num=1;
	while(!q.empty()){
		if(num==m){
			cout<<q.front()<<" ";
			q.pop();
			num=1;
		}
		else{
			q.push(q.front());
			q.pop();
			num++;
		}
	}	
	return 0;
}
原文地址:https://www.cnblogs.com/w-w-t/p/12287810.html