Linux 请设计合适的算法,从命令行接收参数n,并计算n的阶乘;
时间: 2024-02-20 20:01:17 浏览: 68
阶乘的算法
您好!可以使用Shell脚本来实现从命令行接收参数n,并计算n的阶乘的功能。以下是一个简单的实现:
```bash
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 n"
exit 1
fi
n=$1
result=1
for ((i=1; i<=n; i++)); do
result=$((result * i))
done
echo "$n! = $result"
```
这个脚本首先检查是否给定了一个参数,如果没有,则输出用法信息并退出。然后将第一个参数赋值给变量n,并将变量result初始化为1。接下来使用一个for循环来计算n的阶乘,每次将当前的i乘以result,最终得到n的阶乘的值。最后将计算结果打印出来。
例如,如果要计算5的阶乘,可以执行如下命令:
```
./factorial.sh 5
```
输出结果为:
```
5! = 120
```
这个结果表示5的阶乘为120。
阅读全文