1. 程式人生 > >lua學習之迴圈求一個數的階乘

lua學習之迴圈求一個數的階乘

 1 --第3題  利用迴圈求n的階乘
 2 --引數檢查是否是自然數
 3 
 4 function IsNaturalNumber(n)
 5     if(n < 0 or n%1 ~= 0)then
 6         return false
 7     else
 8         return true
 9     end
10 end
11 function factorial(n)
12     --引數檢查
13     if(not IsNaturalNumber(n))then
14         print("引數有誤")
15         return
16 end 17 --若輸入的是0直接返回1 18 if(n == 0)then 19 return 1 20 end 21 --輸入的是正整數 22 local res = 1 23 for i = n, 1, -1 do 24 res = res * i 25 end 26 return res 27 end 28 --TEST CODE 29 --factorial(-1) 30 n = 4 31 result = factorial(n) 32 print(string.format("
%d! = %d", n, result))    --output:4! = 24