一个猴子选大王问题程序(c++实现)

王朝c/c++·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

#include<iostream.h>

int choose(int num,int del)

{

int i;

int a[100];

for(i=0;i<num;i++)

a[i]=1; //猴子状态初始化,为1表示可能被选上,为0表明没希望了;

int sum=0, //循环记数;

countOne=num; //累积记数初始化,大于1表明还有大王候选人;

while(countOne>1)

{

countOne=0;

for(i=0;i<num;i++)

{

sum+=a[i];

if(sum==del)

sum=a[i]=0; //淘汰倒霉猴子;

countOne+=a[i];

}

}

for(i=0;i<num;i++)

if(a[i]!=0)

return i; //找到幸运猴子编号(从0开始的);

}

void main()

{

int num,del;

cout<<"请输入猴子总数和淘汰数:";

cin>>num>>del;

cout<<"第"<<choose(num,del)+1<<"个猴子为王!"<<endl;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航