/*下面这个程序是c++的,不知道是哪位前辈写的,我只是从刚好网上见到,就cp给你了*/
代码:
#include <iostream.h> #include <fstream.h> void main() { int n,cs,s=0,i,j;//n:人数;cs:密码;s第几个人出列;i,j:循环用变量 ifstream input("myindata.txt"); input>>n>>cs>>s; cout<<"人数:"<<n<<" 初始密码"<<cs<<" 初始是第几个人:"<<s<<endl; int* sz=new int[n+1]; int* sz1=new int[n+1]; for(i=1;i<=n;i++) { input>>sz[i]; sz1[i]=i; cout<<sz[i]<<" "; } cout<<endl; for(i=n;i>=1;i--) { s=(s+cs-1)%i; if(s==0) s=i; cs=sz[s]; cout<<"第"<<sz1[s]<<"个人出列"<<"密码是:"<<cs<<endl; for(j=s;j<i;j++) { sz[j]=sz[j+1]; sz1[j]=sz1[j+1]; } } delete sz; cin>>i;
|