#include<stdio.h>
#define N 57
int main()
{
int i,j,p,a[N];
for(i=0;i<=N-1;i++)
a[i]=i+1;
for(p=i=j=0;p!=N-1;)
{
if(a[i]!=0)
j++;
if(j==4)
{
j=0;
a[i]=0;
p++;
}
i++;
if(i==N)
i=0;
}
for(i=0;i<57;i++)
{
if(a[i]!=0)
printf("留下的是第%d号\n",a[i]);
}
return 0;
} 第三章第32题
本文介绍了一个通过C语言实现的约瑟夫环问题解决方案。该程序使用数组模拟环形结构,并逐步移除指定间隔的元素,直到找到最后一个剩余的元素。通过此方法演示了约瑟夫环问题的经典算法。

被折叠的 条评论
为什么被折叠?



