VB开灯关灯的编程问题

有N个灯放在一排(N不大于100),从1到N依次顺序编号。有N个人也从1到N依次编号。1号将灯全部关闭,2号将凡是2的倍数的灯打开,3号将凡是3的倍数的灯作相反处理(该灯... 有N个灯放在一排(N不大于100),从1到N依次顺序编号。有N个人也从1到N依次编号。1号将灯全部关闭,2号将凡是2的倍数的灯打开,3号将凡是3的倍数的灯作相反处理(该灯如为打开的,则将它关闭;如关闭的,则将它打开)。以后的人都和3号一样,将凡是自己编号的倍数的灯作相反处理。计算第N个人操作后,各盏灯的状况(即开关情况)并输出。
一定要复制上去直接可以运行成功的,速度在线求答案
展开
 我来答
百度网友bdb9803
2012-05-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:53%
帮助的人:1亿
展开全部
Private Sub Command1_Click()
Dim d() As Boolean, N
N = Val(InputBox("N="))
ReDim d(N)
For i = 1 To N
If i = 1 Then
For j = 1 To N
d(j) = False
Next
Else
For j = 1 To N
If j Mod i = 0 Then d(j) = Not d(j)
Next
End If
Next
For i = 1 To N
Print "灯"; i; ":";
If d(i) Then Print "开" Else Print "关"
Next
End Sub
超级大炮40
2017-09-27 · TA获得超过258个赞
知道小有建树答主
回答量:334
采纳率:50%
帮助的人:19.1万
展开全部
有什么问题,那里报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平凡_liuxp
2012-05-29
知道答主
回答量:42
采纳率:0%
帮助的人:17万
展开全部
Dim a(100) string '灯的个数
Dim b = 5 '人的个数

For Each i In b
If i = 0 then
For Each j In a.length
a(j) = '关'
Next
elseif i = 1 then
For Each j In a.length
If (j+1)%2 = 0 then
a(j) = '开'
end if
Next
else
For Each j In a.length
If (j+1)%(i+1) = 0 then
If a(j) = '关' then
a(j) = '开'
else
a(j) = '关'
end if
end if
Next
end If
Next

For Each m In a
wscript.echo m
Next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式