题目描述
解题思路
//这个题用队列来思考就很简单了
//1 初始化队列,队列中存放的为编号
//2 编号队头出记录为h 若h没有被淘汰 那就队尾在进队列
//3 一直持续到队列中只有一个元素为止
#include<iostream>
#include<queue>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
queue<int> adt;//注意队列的引用方法
for(int i=1;i<=n;i++)
{
adt.push(i);
}
int val=0;
while(adt.size()>=2)
{
int h=adt.front();//拿到queue的第一个索引
adt.pop();
val++;//相当于报的数
if(val%k!=0&&val%10!=k){
adt.push(h);//没有淘汰的进队列
}
}
cout<<adt.front();
return 0;
}