这个题目谁会做?
25个人围成一圈,从1开始报数,从第一个开始,数到3或3的倍数者退出圈子,问最后剩下者开始的序号,用链表或用数组编程.
约瑟夫问题,书上有这个例子啊;
#include<stdio.h>
#define M 25
#define N 3
void main()
{
int a[M+1],i,j=0,l;
for(i=1;i<=M;i++)
a[i]=1;
do {
for(i=1;i<=M;i++) {
j+=a[i];
if(j==N) {
a[i]=0;
j=0;
printf("%4d",i);
}
}
l=0;
for(i=1;i<=M;i++)
l+=a[i];
}while(l);
}