小编Ali*_*adi的帖子

bc比例:如何避免四舍五入?(计算小二项式概率)

以下代码计算 n 次试验中 k 次成功事件的二项式概率:

n=144
prob=$(echo "0.0139" | bc)

echo -e "Enter no.:" 
read passedno

k=$passedno
nCk2() {
    num=1
    den=1
    for((i = 1; i <= $2; ++i)); do
        ((num *= $1 + 1 - i)) && ((den *= i))
    done
    echo $((num / den))
}

binomcoef=$(nCk2 $n $k)

binprobab=$(echo "scale=8; $binomcoef*($prob^$k)*((1-$prob)^($n-$k))" | bc)

echo $binprobab
Run Code Online (Sandbox Code Playgroud)

当 $passedno (=k) 输入“5”时,结果显示为 0(而不是“0.03566482”),而输入“4”时,结果显示为“.07261898”。

如何以 8 位十进制数字的给定精度打印输出,而不获取输出的四舍五入值?

bc calculator numeric-data

4
推荐指数
1
解决办法
6597
查看次数

标签 统计

bc ×1

calculator ×1

numeric-data ×1