用VB编写程序,有17个人围成一圈(编号0~16),第0号的人开始从1报数,凡是报到3的倍数的人离开
圈子,然后在数下去,直到最后只剩下一个人为止.问此外人原来的位置号是多少?要代码
人气:282 ℃ 时间:2020-04-07 04:53:29
解答
C的
int all=17,need=17,k=3;
int x=0,y=0,i=0,j=0;
int a[5001]={0};
while(1)
{
x=x%all+1;
if(a[x]==0)
{
i=(i+1)%k;
if(i==0)
{y=y+1;a[x]=1;}
}
if(y==need)break;
}
推荐
- 17个人围成圈,编号为1—17,从第1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下1人.求此人的编号.
- 请教用VC做:17个人围成一个圈,依次编号为1-17,从第1号开始报数,报到3的倍数的人离开,直到最后1人
- 17个人围成一圈,编号为1-17,从第1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下一个人
- 然后从1号开始顺时针报数(1,2,3,…),凡报5的倍数者出圈,剩下者继续报数,求出最后出圈者的编号.
- N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,问最后一个圈中的人的编
- 求极限导数微分不定积分
- 英语翻译
- 在炎热的夏季,大量分泌汗液以调节体温的是( ).
猜你喜欢