有n个人围成一圈,依次标号0至n-1。从0号开始,依次0,1,0,1,....交替报数,报到1的人会离开,直至圈中只剩下一个人。求最后剩下人的编号。试补全模拟程序。
#include<iostream> using namespace std; const int MAXN=1000000; int F[MAXN]; int main(){ int n; cin>>n; int i=0,p=0,c=0; while(_____(1)________){ if(F[i]==0){ if(_____(2)_______){ F[i]=1; _____(3)______; } _____(4)________; } _____(5)______; } int ans=-1; for(int i=0;i<n;i++) if(F[i]==0) ans=i; cout<<ans<<endl; return 0; }