题目

(加试题)小李同学碰到了一个数学问题:400个同学按顺序进行编号后围成一个大圈,按1至2报数(从1号位置开始),报到2的同学出列,以此一直循环报数下去,问最后剩下的那位同学他的编号是几号? 例如以6个同学编号为例,按1至2报数(从1号位置开始)依次出列的编号次序为2-4-6-3-1-5,那么最后剩下的就是编号为5的同学。 为了解决这个问题,小李用VB编写了如下程序尝试解决,其中列表list1显示出列的顺序编号,文本框text1中显示最后留下的编号,程序代码如下(测试界面如下图): Private Sub Command1_Click()     Dim s, f, t As Integer     Dim a(1 To 400) As Boolean     For i = 1 To 400         a(i) = False     Next i     s = 0     f = 0     i = 0     Do While f < 399         i = i + 1         If i = 401 Then i =         If a(i) = False Then s = s + 1         If s = 2 Then                           List1.AddItem Str(i)             a(i) = True             f =           End If     Loop     For i = 1 To 400         If   Then text1.text=str(i)     Next i End Sub 在程序划线处填入合适的代码。 答案:【1】1【2】s=0【3】f+1【4】Not a(i)或a(i)= false
信息技术 试题推荐
最近更新