lua學習之迴圈求一個數的階乘
阿新 • • 發佈:2018-12-24
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 return16 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