RosettaCodeData/Task/Left-factorials/AWK/left-factorials.awk
2023-07-01 13:44:08 -04:00

23 lines
448 B
Awk

#!/usr/bin/gawk -Mf
function left_factorial(num) {
result=0
adder=1
if (num==0) return(0)
for (k = 1; k <=num; k++) {
result = result + adder
adder = adder * k
}
return(result)
}
BEGIN {
for (i = 0; i <= 10; i++) {
print "!" i " = " left_factorial(i)
}
for (i = 20; i<= 110; i+=10) {
print "!" i " = " left_factorial(i)
}
for (i = 1000; i<= 10000; i+=1000) {
print "!" i " has " length(left_factorial(i)) " digits"
}
}