2037:【例5.4】约瑟夫问题
作者:互联网
【题目描述】
NN个人围成一圈,从第一个人开始报数,数到MM的人出圈;再由下一个人开始报数,数到MM的人出圈;…输出依次出圈的人的编号。
【输入】
输入NN和MM。
【输出】
输出一行,依次出圈的人的编号。
【输入样例】
8 5
【输出样例】
5 2 8 7 1 4 6 3
【提示】
【数据范围】
对于所有数据,2≤N,M≤10002≤N,M≤1000。
#include<iostream> using namespace std; int n,m,i,j,s; bool a[1000]={0}; int main() { cin>>n>>m; do { i++; if(i>n) i=1; if(!a[i]) j++; if(j==m) { j=0; cout<<i<<" "; a[i]=1; s++; } } while(s!=n); //cout<<endl<<i; return 0; }
标签:输出,出圈,NN,MM,样例,约瑟夫,2037,int,5.4 来源: https://www.cnblogs.com/zheng1945/p/16298500.html