#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
#define N 100
int fun(int *p,int n,int k);
int main() //约瑟夫环....
{
int i,k;
int n;
int a[100]={0};
int b[100]={0};
printf("请输入总人数:");
scanf("%d",&n);
printf("请输入每个几人出局:");
scanf("%d",&k);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
fun(a,n,k);
}
int fun(int *p,int n,int k) //每三个人出局一个人
{
int i,j=n,z=0;
int count=0;
int b[100]={0};
for(i=0;i<n;i++)
b[i]=i+1;
while(j>1)
{
for(i=0;i<n;i++)
{
if(p[i]!=0)
count++;
if(count%k==0)
{
p[i]=0;
if(p[i]==0&&b[i]!=0)
{
printf("第%d个出局的人是%d\n",++z,i+1);
b[i]=0;
j--;
}
}
if(i==n)
i=0;
}
}
for(i=0;i<n;i++){
if(p[i]!=0&&b[i]!=0){
printf("最后剩下一个人的编号是%d\n",i+1);}
}
return 0;
}