各位大佬救救孩子吧!
题目给出了sinx的泰勒公式展开式, 要求脚本接受两个参数 x 与 y(两个都为正数)显示sinx的值
其中y 是精度值,即最后一项|t|<y
最终的结果包括最后一项
自己写的代码如下
#! /bin/bash
x=$1
y=$2
i=0
sinx=0
function factoriel(){
q=1
read $i
m=$((2*$i+1))
j=1
while [ $j -lt $m ]
do
j=$(($j+1))
q=`expr $q \* $j`
done
return $q
}
n=$(($1**$((2*$i+1))))
z=`($n)/(2*($i+1)) | bc -l`
while [ $z -ge $2];
do
sinx=$(($sinx+($n/factoriel())))
i=$(($i+1))
done
echo $sinx
大概思路有了 但是运行不成功 求个大佬帮帮忙