shell求前n分之一的和

2018-05-15

可以用awk或bc保留小数。

1、小数
awk BEGIN'{printf "%.5f\n", 2/3}'
2、more sum.sh
#!/bin/sh
N=$1
if [[ -z $1 ]];then
echo Usage $0 num
exit 0
fi
sum=0
for((i=1;i<$N;i++))
do
j=$(echo "1 $i"|awk '{printf "%.5f\n",$1/$2}');
sum=$(echo "$j $sum"|awk '{printf "%.5f\n",$1+$2}')
done
echo $sum
3、./sum.sh 5
2.82897

4、或者

#!/bin/sh
N=$1
if [[ -z $1 ]];then
echo Usage $0 num
exit 0
fi
sum=0
for((i=1;i<${N};i=i+1))
do
j=$(echo "scale=5; 1/$i" | bc)
sum=$(echo "$sum+$j" | bc);
done

echo $sum

分类:Linux | 标签: |

相关日志

评论被关闭!