T227734 约瑟夫问题
ooooook
我们回来更新思路部分:
其实对这道题我的想法还是往简单去考虑的
就是用一个数组来表示人 ,用三个计数器来表示
1.轮到的人、
2.轮过几个人
3.出去了几个人。
代码部分:
#include <iostream>
using namespace std;
int main()
{
int n,m,n1[101]={0},jsq=0;
cin>>n>>m;
for(int i=1,j=0;jsq!=n;i++){
if(i>n){i=1;}
if(n1[i]==0){
j++;//若这人没出去 则j++
if(j==m){
cout<<i<<" ";
j=0;jsq++;
n1[i]=1;
}
}
}
return 0;
}
(思路过会写 赶进度)