麻烦谁能帮我解释下下面的计算过程,Private Sub command1_Click()Print p1(3,7)End SubPublic Function p1(x As Single,n As Integer) As SingleIf n = 0 Thenp1 = 1ElseIf n Mod 2 = 1 Thenp1 = x * p1(x,n \ 2)Elsep1 = p1(x,n \ 2) \ xEnd IfEnd IfE
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 06:35:11
![麻烦谁能帮我解释下下面的计算过程,Private Sub command1_Click()Print p1(3,7)End SubPublic Function p1(x As Single,n As Integer) As SingleIf n = 0 Thenp1 = 1ElseIf n Mod 2 = 1 Thenp1 = x * p1(x,n \ 2)Elsep1 = p1(x,n \ 2) \ xEnd IfEnd IfE](/uploads/image/z/5890332-12-2.jpg?t=%E9%BA%BB%E7%83%A6%E8%B0%81%E8%83%BD%E5%B8%AE%E6%88%91%E8%A7%A3%E9%87%8A%E4%B8%8B%E4%B8%8B%E9%9D%A2%E7%9A%84%E8%AE%A1%E7%AE%97%E8%BF%87%E7%A8%8B%2CPrivate+Sub+command1_Click%28%29Print+p1%283%2C7%29End+SubPublic+Function+p1%28x+As+Single%2Cn+As+Integer%29+As+SingleIf+n+%3D+0+Thenp1+%3D+1ElseIf+n+Mod+2+%3D+1+Thenp1+%3D+x+%2A+p1%28x%2Cn+%5C+2%29Elsep1+%3D+p1%28x%2Cn+%5C+2%29+%5C+xEnd+IfEnd+IfE)
麻烦谁能帮我解释下下面的计算过程,Private Sub command1_Click()Print p1(3,7)End SubPublic Function p1(x As Single,n As Integer) As SingleIf n = 0 Thenp1 = 1ElseIf n Mod 2 = 1 Thenp1 = x * p1(x,n \ 2)Elsep1 = p1(x,n \ 2) \ xEnd IfEnd IfE
麻烦谁能帮我解释下下面的计算过程,
Private Sub command1_Click()
Print p1(3,7)
End Sub
Public Function p1(x As Single,n As Integer) As Single
If n = 0 Then
p1 = 1
Else
If n Mod 2 = 1 Then
p1 = x * p1(x,n \ 2)
Else
p1 = p1(x,n \ 2) \ x
End If
End If
End Function
麻烦谁能帮我解释下下面的计算过程,Private Sub command1_Click()Print p1(3,7)End SubPublic Function p1(x As Single,n As Integer) As SingleIf n = 0 Thenp1 = 1ElseIf n Mod 2 = 1 Thenp1 = x * p1(x,n \ 2)Elsep1 = p1(x,n \ 2) \ xEnd IfEnd IfE
开始 7 Mod 2 = 1 所以 p1 = 3 * ①p1(3,7\ 2)
①=p1(3,3)
3 Mod 2 = 1 所以 p1 = 3 * ②p1(3,3\ 2)
②=p1(3,1)
1 mod 2=1 所以 p1=3*③p1(3,1\2)
③=p1(3,0)
n=0 所以 p1=1,循环结束
返回③=1
返回②=3*1
返回①=3*3*1
最终值=3*3*3*1
圆圈里面的数字就是p1(.)这个函数