面试题答案
一键面试#!/bin/bash
# 定义计算阶乘的递归函数
factorial() {
local num=$1
if (( num < 0 )); then
echo "错误:输入的数字不能为负数"
return 1
elif (( num == 0 || num == 1 )); then
echo 1
else
local result=$(( num * $(factorial $((num - 1))) ))
echo $result
fi
}
# 调用函数并输出不同输入值的阶乘结果
echo "5的阶乘: $(factorial 5)"
echo "3的阶乘: $(factorial 3)"
echo "0的阶乘: $(factorial 0)"
echo "-2的阶乘: $(factorial -2)"