也就是簡單的約瑟夫還問題 n個人圍成一圈 開始報數 報到3 的離開 再從1開始報數 直到剩餘一個人 並把他的序號輸出
#include<stdio.h>
int main()
{
int n,a[100000],b=0,i,c=0;
scanf("%d",&n);
for (i=0;i<n;i++)//活着的爲1,死了的爲0
{
a[i]=1;
}
for (i=0;;)
{
if(a[i]==1)
{
b++;
}
if (b%3==0&&a[i]!=0)
{
a[i]=0;
c++;//統計已死亡的人數
}//數到三死亡變爲0
if(c==n-1) break;//剩最後一個人的時候結束循環
i=(i+1)%n;//讓數組在0-n中循環
}
for(i=0;i<n;i++)
{
if(a[i]==1)
{
printf("%d",i+1);
}
}
}