Factorial doesn't accept negative numbers

Previously factorial could accept negative number which isn't defined
pull/1049/head
Kriyszig 2019-07-04 10:51:04 +05:30 committed by Alexander Medvednikov
parent ebbd63811d
commit 801e06318f
1 changed files with 4 additions and 1 deletions

View File

@ -223,9 +223,12 @@ pub fn trunc(a f64) f64 {
// factorial calculates the factorial of the provided value.
pub fn factorial(a int) i64 {
if a < 0 {
panic('factorial: Cannot find factorial of negative number')
}
mut prod := 1
for i:= 0; i < a; i++ {
prod = prod * (i+1)
prod *= (i+1)
}
return prod
}