#include<stdio.h>
void main()
{
int a[100],p,q,m,n,i,t;
printf("请输入人的数目:n=");
scanf("%d",&n);
printf("请输入要求数到的中止数:m=");//数到m的猴子退出
scanf("%d",&m);
for(i=0;i<n;i++)
a[i]=i+1;
a[n-1]=0;
p=q=n-1;t=0;//t是计数器;
do
{
p=a[p];
t=t+1;
if(t%m==0)
a[q]=a[p];
else
q=p;
} while(p!=a[p]);
printf("人的总数目为:%d \n",n);
printf("数到的最大值为:%d \n",m);
printf("班长是第%d个人",p+1);
}
源程序代码,不过这里有所改变的就是。这里不局限在数到3退出。这个值可以是你随便设的,当然你可以输入m=3
void main()
{
int a[100],p,q,m,n,i,t;
printf("请输入人的数目:n=");
scanf("%d",&n);
printf("请输入要求数到的中止数:m=");//数到m的猴子退出
scanf("%d",&m);
for(i=0;i<n;i++)
a[i]=i+1;
a[n-1]=0;
p=q=n-1;t=0;//t是计数器;
do
{
p=a[p];
t=t+1;
if(t%m==0)
a[q]=a[p];
else
q=p;
} while(p!=a[p]);
printf("人的总数目为:%d \n",n);
printf("数到的最大值为:%d \n",m);
printf("班长是第%d个人",p+1);
}
源程序代码,不过这里有所改变的就是。这里不局限在数到3退出。这个值可以是你随便设的,当然你可以输入m=3
[此贴子已经被作者于2007-10-22 9:18:36编辑过]
一念心清净,莲花处处开。 一花一净土,一土一如来。