这个题我今天还没看懂,希望明天肯定能看懂
#include <stdio.h>
int main(){
int n;
printf("输入人数:\n");
scanf("%d",&n);
int a[1000];
int i,temp;
int count = 0;
temp = n;
for(i = 0;i < n;i++)
{
a[i] = i+1;
}
i = 0;
while (n>1)
{
if(a[i] != 0)
{
count++;
}
if(count == 3)
{
a[i] = 0;
count = 0;
n--;
}
i++;
if(i == temp)
{
i = 0;
}
}
for(i = 0;i < temp;i++)
{
if(a[i] != 0)
{
printf("余下的为:%d号\n",a[i]);
}
}
return 0;
}
本文介绍了一个简单的C语言程序,用于解决约瑟夫环问题。该程序通过数组跟踪参与者状态,并采用循环移位的方式逐步淘汰指定位置的人,直至剩下最后一位幸存者。
5432

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



