鲁智深吃馒头


 鲁智深吃馒头

据说,鲁智深一天中午匆匆来到开封府大相国寺,想蹭顿饭吃,当时大相国寺有99个和尚,只做了99个馒头。智清长老不愿得罪鲁智深,便把他安排在一个特定位置,之后对所有人说:从我开始报数(围成一圈),第5个人可以吃到馒头(并退下) ,按此方法,所有和尚都吃到了馒头,唯独鲁智深没有吃上。请问他在那个位置?能否借鉴筛法求出剩下的最后一个人的位置?
 
台创软启动荣军波是个程序菜鸟,编出来欢迎指导
#include
#include
#define N 100
int counter=0;//全局变量便于计算剩下几个
void luzhishen(int a[],int n)
{
    int i,j;
 
    for(i=0;i<=n-1;i++)
    {
        if(a[i]!=0)
        {
            counter++;
 
        }
 
        if(counter%5==0)
        {
        a[i]=0;
        }
        if(counter==495)
            {
                for(i=0;i
                {
                    if(a[i]!=0)
                    {
                        printf("a[%d]\n",i+1);
                        return;
                    }
 
                }
            }
    }
    luzhishen(a,n);
}
 
int main()
{  int a[N],n=100,i;
   for(i=0;i<=n-1;i++)
    {
        a[i]=1;
    }
   luzhishen(a,100);
 
    return 0;
}
 
结果为第47个位置
欢迎免费试用交大台创软启动,我们让合伙人发财!微信 13981812239