在Linux编写shell脚本,求n的阶乘,n=100
时间: 2023-05-29 08:05:43 浏览: 600
在Linux中,可以使用bc(basic calculator)命令计算大数的阶乘。
以下是一个求100的阶乘的shell脚本:
```bash
#!/bin/bash
n=100
result=1
for ((i=1; i<=$n; i++))
do
result=$(echo "$result * $i" | bc)
done
echo $result
```
解释:
1. 定义变量$n为100,变量$result为1,用于存储最终结果。
2. 使用for循环遍历1到$n之间的所有整数,每次循环将当前的整数乘到$result中,使用bc命令进行高精度计算。
3. 计算完成后,使用echo命令输出$result的值。
运行脚本,输出结果为:
```bash
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
```
相关问题
linux shell脚本求n阶乘
以下是一个求n阶乘的Linux shell脚本:
```
#!/bin/bash
echo "请输入一个正整数:"
read n
result=1
for ((i=1; i<=n; i++))
do
result=$((result * i))
done
echo "$n 的阶乘为:$result"
```
使用方法:
1. 将以上代码保存为一个文件,例如 `factorial.sh`。
2. 在终端中进入该文件所在的目录。
3. 运行命令 `chmod +x factorial.sh`,将该文件设置为可执行。
4. 运行命令 `./factorial.sh`,按照提示输入一个正整数即可求出其阶乘。
编写脚本,求n的阶乘,n=100
这道题需要用到Python的高精度计算模块——math库中的factorial()函数。
代码如下:
```python
import math
n = 100
print(math.factorial(n))
```
输出结果:
```
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
```
可以看到,Python的高精度计算功能非常强大,可以轻松地计算出100的阶乘。