我正在尝试在 vbscript 中实现一些递归。
Function largest_prime_factor (ByVal num)
For i = 2 to num/2
If num mod i = 0 Then 'this number is not prime
largest_prime_factor (num / i)
End If
Next
largest_prime_factor = num ''if at this point, we have reached the largest prime
End Function
正如你所看到的,它是一个脚本,基本上是为了给我一个数字的最大素数而设计的。但是,当我运行打印时,这个脚本仍然会向我吐回估算的数字。经过调试,我发现脚本确实会进入for循环内的条件,但是它不会递归(即:它将继续运行for循环,然后在那个点之后结束)
关于 VBscript 中的递归,我错过了什么?我也尝试了一些效果
largest_prime_factor = largest_prime_factor (num / i)
在条件内部,这也不起作用。