shell脚本中的阶乘
时间: 2023-11-14 18:10:48 浏览: 44
在shell脚本中,阶乘可以通过循环和递归两种方式实现。其中,循环方式比较简单,可以使用for或while循环实现。递归方式则需要定义一个函数来实现。下面是两种方式的示例代码:
循环方式:
```
#!/bin/bash
echo "请输入一个正整数:"
read num
result=1
for ((i=1;i<=num;i++))
do
result=$[$result*$i]
done
echo "$num 的阶乘为:$result"
```
递归方式:
```
#!/bin/bash
function factorial(){
if [ $1 -eq 1 ]
then
echo 1
else
local temp=$[$1-1]
local result=$(factorial $temp)
echo $[$result*$1]
fi
}
echo "请输入一个正整数:"
read num
result=$(factorial $num)
echo "$num 的阶乘为:$result"
```在shell脚本中,阶乘可以通过循环和递归两种方式实现。其中,循环方式比较简单,可以使用for或while循环实现。递归方式则需要定义一个函数来实现。下面是两种方式的示例代码:
循环方式:
```
#!/bin/bash
echo "请输入一个正整数:"
read num
result=1
for ((i=1;i<=num;i++))
do
result=$[$result*$i]
done
echo "$num 的阶乘为:$result"
```
递归方式:
```
#!/bin/bash
function factorial(){
if [ $1 -eq 1 ]
then
echo 1
else
local temp=$[$1-1]
local result=$(factorial $temp)
echo $[$result*$1]
fi
}
echo "请输入一个正整数:"
read num
result=$(factorial $num)
echo "$num 的阶乘为:$result"
```