vb中的for–next循环问题计算 15
不要一步一步循环得的答案,想问问有没有简单有规律的计算方法? 展开
例如:8 \ 6 = 1 理解为8除以6的商是1,余数为2,在这里余数不考虑
8 \ 5 = 1 理解为8除以5的商是1,余数为3,在这里余数不考虑
8 \ 4 = 2 理解为8除以4的商是2,余数为0,在这里余数不考虑
8 \ 3 = 2 理解为8除以3的商是2,余数为2,在这里余数不考虑
15 \ 7 = 2 理解为15除以7的商是2,余数为1,在这里余数不考虑
x = 100
For i = 1 To 100 Step 5
x = x - i \ 6
Next i
第1次循环,i是1,商是0,所以结果x为100
第2次循环,i是6(Step 5),商是1,所以结果x为99
第3次循环,i是11(Step 5),商是5,所以结果x为94
........
省略了吧?
电脑运算是最方便的,现在都是用电脑来输出结果,来解放劳动力,要的是加强编程能力。
电脑完成的大的运算,是成千上万人几辈子也完成不了的, 要充分利用程序,和电脑的计算能力,给出结果就是啦。
人工做迭代运算是很麻烦的,可计算机最擅长做迭代运算。
有简单有规律的计算方法,就是随i的增加,-i\6越来越大,X就减小的越来越快。
减小是和 sum(1\6, 6\6, 11\6, 16\6, (16+5)\6....)=sum(0,1,1,2,3,4,.。。。),x起始值为100。
结果,循环结束i= 96, x=54:
i x
1 100
6 99
11 98
16 96
21 93
26 89
31 84
36 78
41 72
46 65
51 57
56 48
61 38
66 27
71 16
76 4
81 -9
86 -23
91 -38
96 -54
具体的程序是
Private Sub Form_Load()
x = 100
For i = 1 To 100 Step 5
x = x - i \ 6
Text1.Text = Text1.Text + vbCrLf + Str(i) + " " + Str(x)
Next i
End Sub
第3次循环,i是11(Step 5),商应该是1,而不是5,所以结果x为98,他把商数搞错了。
x = 100
For i = 1 To 100 Step 5x = x - i \ 6Text1.Text = Text1.Text + vbCrLf + Str(i) + " " + Str(x)Next i
End Sub