【猫捉老鼠问题】

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:08:30
30只老鼠围成一圈,花猫从第一只开始数,数到5或5的倍数就吃掉,问最后一个吃掉的应该是站在第几个位置的老鼠?

回答从速。

谢谢。
我是要把它用C语言程序编出来...

我错了,

void main()
{
static int d[30];
int p=0;
int t=0;

while(true)
{
if (d[t]==0) p++;
if (t>=30) break;
if (p=5)
{p=0;d[t]=1;}
t=(t+1)%30;
}
}
//t+1就是。。。
}

约瑟夫环。。。

#include <stdio.h>
#include<conio.h>
int main(void)
{
int n, m, i, s=0;
printf ("输入N M:"); scanf("%d%d",&n,&m);
for (i=2; i<=n; i++) s=(s+m)%i;
printf ("The lastmouse's No. is No.%d\n", s+1);
getch();
return 0;
}

应该是3.。

#include<stdio.h>
#include<stdlib.h>
#define N 30
#define S 1
#define M 5
int m,n,s,p[N];
void josegh(void)
{
int i,j,k,s1,w;
s1=s;
for(i=1;i<=n;i++)
p[i-1]=i;
for(i=n;i>=2;i--)
{
s1=(s1+m-1)%i;
if(s1==0)
s1=i;
w=p[s1-1];
for(j=s1;j<