作业帮 > 综合 > 作业

12个小朋友手拉手站成一个圆圈,从某一个小朋友开始报数,报到7的那个小朋友退到圈外,然后他的下一位重新报“1”.这样继续

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/13 03:11:32
12个小朋友手拉手站成一个圆圈,从某一个小朋友开始报数,报到7的那个小朋友退到圈外,然后他的下一位重新报“1”.这样继续下去,最后只剩下一个小朋友,他原来站在什么位置上呢?用pascal
12个小朋友手拉手站成一个圆圈,从某一个小朋友开始报数,报到7的那个小朋友退到圈外,然后他的下一位重新报“1”.这样继续
用out来记录小朋友的状态true为已经退出,false为还在圈内
我的算法:我们开始“报数”,每一轮报数游戏都会出去一个人,所以一共进行11轮报数
进行报数时,如果轮到的小朋友已经出圈了,我们就用while继续往后找直到找到一个没有报数的人,然后把第7个这样找到的人退出去,继续进行下一轮报数
每当一个小朋友x退出去,我们就out[x]:=true
n:=12;
now:=0;
for t:=1 to n-1 do //一共进行n-1轮报数游戏
begin
for i:=1 to 7 do
begin
now:=now mod n+1; //由于是一个圈,我们要mod使其可以循环
while out[now] do now:=now mod n+1; //当 now已经出圈了,我们继续找 直到找到
end;
out[now]:=true; //将这个第7个报数的退出去
end;
for i:=1 to n do //当前还没有出圈的就是我们需要的答案
if not out[i] then ans:=i;
12个小朋友手拉手站成一个圆圈,从某一个小朋友开始报数,报到7的那个小朋友退到圈外,然后他的下一位重新报“1”.这样继续 有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的 十几个小朋友围成一圈报数,已知1和100这2个数都是某一个小朋友报的,请问总共有多少个小朋友? 100个小朋友围成一圈,并依次编为1-100号.从第1号开始1至2报数,凡是报到1的小朋友退出圈子,这样循环进行到剩下最 二十个小朋友围成一圈,顺时针一圈一圈从1开始报数,如果报1和70的是同一个,问共有多少个小朋友? 13个小朋友围成一圈做游戏,规则是从某一个小朋友开始按顺时针方向数数,数到第13,该小朋友离开;这样继续下去,直到最后剩 1000名小朋友站成一排,从头开始1,2,3报数,报2,3的坐下;然后站着的小朋友又从头开始1、2、3报数,报2、3 有60个小朋友围成一圈玩报数游戏.游戏规则是 王小毛从1开始报数,如报到的数字中含7的数时,则要跳过不报 两个小朋友一起做报数游戏:从1开始按数的顺序轮流报数,报到30(或50、100).(1)每人每次可以报一个数或两个数,不 20个左右的小朋友围成一圈,从一开始报数,其中报5的小朋友也恰好报了195,这里共有几个小朋友? 1--8号8个小朋友围成一圈按1,2,3,4,5,6,7,8,...的顺序报数,但是从3号小朋友开始报”1“,请问32是 8个小朋友围成一个圈报数.按顺序从11报到50号.请你想一想.报17号和33号是不是同一