VB 有十七个人围成一圈(编号为0~16),第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 22:17:02
VB 有十七个人围成一圈(编号为0~16),第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去
直到最后只剩下一个人为止.问此人原来的位置号是多少?
要的是程序!
直到最后只剩下一个人为止.问此人原来的位置号是多少?
要的是程序!
Private Sub Command1_Click()
Form1.Cls
Dim a(1 To 17) As Integer
Dim i As Integer,j As Integer,k As Integer
For i = 1 To 17
a(i) = i - 1
Next
i = 0
j = 0
k = 17
Do While k > 1
For i = 1 To 17
If a(i) > -1 Then
j = j + 1
If j = 3 Then
j = 0
Print a(i)
a(i) = -1
k = k - 1
End If
End If
Next
Loop
Print "剩下的是:"
For i = 1 To 17
If a(i) > -1 Then
Print a(i)
Exit For
End If
Next
End Sub
再问: 可以讲解下不?不是太懂,尤其是-1那
再答: 程序首先将 0-16 填充数组 a() 然后循环地数 a() 的每个元素,如果 a(i) < -1 就忽略,否则 每数到 3(j = 3)就打印 a(i) 并将 a(i) 置为 -1。 其实就是用 -1 代替离开的人,下次循环不再数他
Form1.Cls
Dim a(1 To 17) As Integer
Dim i As Integer,j As Integer,k As Integer
For i = 1 To 17
a(i) = i - 1
Next
i = 0
j = 0
k = 17
Do While k > 1
For i = 1 To 17
If a(i) > -1 Then
j = j + 1
If j = 3 Then
j = 0
Print a(i)
a(i) = -1
k = k - 1
End If
End If
Next
Loop
Print "剩下的是:"
For i = 1 To 17
If a(i) > -1 Then
Print a(i)
Exit For
End If
Next
End Sub
再问: 可以讲解下不?不是太懂,尤其是-1那
再答: 程序首先将 0-16 填充数组 a() 然后循环地数 a() 的每个元素,如果 a(i) < -1 就忽略,否则 每数到 3(j = 3)就打印 a(i) 并将 a(i) 置为 -1。 其实就是用 -1 代替离开的人,下次循环不再数他
用VB编写程序,有17个人围成一圈(编号0~16),第0号的人开始从1报数,凡是报到3的倍数的人离开
2:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,
C语言:有n人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,
有N个人围成一个圈顺序编号,从第一个人开始报数(从1到M),凡报到M的人退出圈子,
有10个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到了的人退出圈子,问最后留下的是原来第几号的那位.
用C语言编写:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,请输出报数出列圈及最
C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子 问最后留下
C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子
C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子
C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子
、用指针完成下面程序:有n个人围成一圈,顺序排号,从第一个人开始报数(从1-3报数),凡报到3的退出圈子,请编程求出最后
请教用VC做:17个人围成一个圈,依次编号为1-17,从第1号开始报数,报到3的倍数的人离开,直到最后1人