刺客信条纯音乐主题曲:关于VB中一个FOR循环的问题。

来源:百度文库 编辑:高校问答 时间:2024/04/29 15:44:30
计算N! 代码如下:
Private Sub Form_Load()
Dim n As Integer
n = InputBox("enter n:")
k = 1: m = 1
For i = 1 To n
k = k * m: m = m + 1
Next i
Print "n!="; k
End Sub

我老是看不懂那一句:k = k * m: m = m + 1
这样不就是又连个循环体了吗?假设n为3.那么每一次m加上一乘以k后再循环k不是也跟着变大了吗?我按照这样算出的是24.但是事实明显是6嘛!谁能一n等于3给我详细的说一遍这个循环以及计算的过程。谢了啊。

k=1;m=1
第一次循环
k=k*m:m=m+1也就是k=1*1=1:m=1+1=2
即k=1;m=2

第二次循环
k=k*m:m=m+1也就是k=1*2=2:m=2+1=3
即k=2;m=3

第三次循环
k=k*m:m=m+1也就是k=2*3=6;m=3+1=4
即k=6;m=4

假设n=3,那么k=6咯~

K=1
M=1
K=K*M ; K=1*1=1

K=1
M=2
K=K*M ; K=1*2=2

K=2
M=3
K=K*M ; K=2*3=6

所以当N=3时 K=6

不懂VB,但是程序都是相通的,解决起来也不难.
n=1,k=1*1=1,m=1+1=2
n=2,k=1*2=2,m=2+1=3
n=3,k=2*3=6,m=3+1=4

所以最后输出的结果是6,不知道这样写能不能让你明白...

M是累加的啊,况且K要先乘未加的M,然后M再加上去