标签:++ 循环 can 计数 false eof 约瑟夫 ring cstring
#include<cstdio> #include<cstring> using namespace std; bool a[1001]; int main() { memset(a,0,sizeof(a)); int m,n,out=0,p=0,num=0; scanf("%d%d",&m,&n); while(out!=m) //循环条件:出圈人数不等于m(即人没都出圈) { ++p; //模拟每一个位置 if(p==m+1) p=1; //将线性问题转为圈型(技巧★★★) if(a[p]==false) num++; //没出圈,就报数 if(num==n) //报数满时 { a[p]=true; //出圈 num=0; //计数器清0 out++; //出圈数加一 printf("%-3d",p); } } }
标签:++ 循环 can 计数 false eof 约瑟夫 ring cstring
原文地址:https://www.cnblogs.com/czy0130/p/9461415.html