有M个人围成一圈,每人一个的编号(1.
发布网友
发布时间:2022-05-17 08:50
我来回答
共2个回答
热心网友
时间:2023-10-15 23:58
#include <iostream>
using namespace std;
int main()
{int a[10000],i,k,t,m,n,*p;
cout<<"输入m和n:";
cin>>m>>n;
p=a;
for(i=0;i<m;i++)
*(a+i)=i+1; //给n 个人编号
i=0;
k=n; //k用来从1到n计数
t=0; //t来累计退出的人数
while(m<n) //m增加到15结束
{if(*(p+i)!=0)
k++;
if(k==n)
{*(p+i)=0; //退出人的编号变为0
k=0;
t++; //退出一个人
cout<<i<<" ";
}
i++;
if(i==m-1)
i=0; //报数到尾后,i恢复为0
}
}
热心网友
时间:2023-10-15 23:58
#include<stdio.h>
void main()
{
int j,i,n,k,m,a[100];
printf("input the number of mongkey :\n(monkey<100)\n");
scanf("%d",&m);
j=m;
printf("input the tao tai shu zi:\n(n<m)\n");
scanf("%d",&n);
for(i=0;i<m;i++)
a[i]=i+1;
i=0;k=0;
while(j>1)
{
if(a[i]!=0)
k++;
if(k==n)
{
a[i]=0;
k=0;
j--;
}
i++;
if(i==m)
i=0;
}
for(i=0;i<m;i++)
if(a[i]!=0)
printf("the da wang shi :%d\n",a[i]);
getch();
}
闪人。。。