n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号。
#include<stdio.h>
int main()
{int i=0,j=0,n,k,m=0;int a[100];
scanf("%d",&n);//输入n的大小
for(i=1;i<=n;i++)//给每个数组函数一个编号
a[i-1]=i;
while(m<n-1)
{
for(i=0;i<n;i++)
{
if(a[i]!=0)j++;
if(j%3==0){a[i]=0;m++;}
}
}
for(i=0;i<n;i++)
if(a[i]!=0)
printf("%d",a[i]);
return 0;
}
#include<stdio.h>
int main()
{int i=0,j=0,n,k,m=0;int a[100];
scanf("%d",&n);//输入n的大小
for(i=1;i<=n;i++)//给每个数组函数一个编号
a[i-1]=i;
while(m<n-1)
{
for(i=0;i<n;i++)
{
if(a[i]!=0)j++;
if(j%3==0){a[i]=0;m++;}
}
}
for(i=0;i<n;i++)
if(a[i]!=0)
printf("%d",a[i]);
return 0;
}