//约瑟问题 //问题背景,一共有30个人,围成环圈,开始报数,数到9的人被丢弃,一直到剩下15个人 为止 #include<iostream> using namespace std; int main() { int all[30]; int yijiao[15]; int jidu[15]; int i,j,k,yijiao_count,yijiao_index,jidu_count; for(i=0;i<30;i++) all[i]=i+1; i=0; k=0; yijiao_count=0; yijiao_index=0; jidu_count=0; while(yijiao_count<15) { if(all[i]!=0) k++; if(k==9) { yijiao[yijiao_index]=all[i]; yijiao_index++; all[i]=0; k=0; yijiao_count++; } i++; if(i==30) i=0; } for(i=0;i<30;i++) { if(all[i]!=0) { jidu[jidu_count]=all[i]; jidu_count++; } } cout<<"异教徒的序号为:"<<endl; for(i=0;i<15;i++) { cout<<yijiao[i]<<" "; } cout<<endl<<"基督教徒的序号为:"<<endl; for(i=0;i<15;i++) { cout<<jidu[i]<<" "; } cout<<endl; return 0; }
c++约瑟夫环问题
猜你喜欢
转载自www.cnblogs.com/chuxinbubian/p/10458434.html
今日推荐
周排行