阶乘定义
非负整数n的阶乘简记为n!,在数学上定义为所有小于等于该数的正整数的乘积,并且定义0的阶乘等于1,用公式表示为:
n!=1×2×3×......×(n-1)×n
对于n!也可以用递归方式定义为如下形式:
n!=(n-1)!×n,且0!=1
根据这两种定义方式,下面给出在LabVIEW中编程实现求解n!的两种方法。
阶乘求解方法1:使用for循环+移位寄存器实现
这种方法实现相对来说比较简单,程序框图如下图所示:
![a63b1323d0329d1971a1ea5e1518e8d4.png](https://img-blog.csdnimg.cn/img_convert/a63b1323d0329d1971a1ea5e1518e8d4.png)
在上图中,直接根据阶乘定义使用for循环与移位寄存器的思路实现n!的计算,for循环的次数为n次,移位寄存器的初始值为1,作n次乘法运算即可计算出n的阶乘。
注意,上图中,当n为0时,for循环执行次数为0次,n!的输出值直接为移位寄存器的初始值1,符合n阶乘的定义。
阶乘求解方法2:使用递归调用方法实现
这种方法根据阶乘的递归方式的定义进行实现。递归VI程序顾名思义是指一个VI在运行中可以调用自身的VI程序,在LabVIEW