C++ 比特币泊松密度编码

C++ 比特币泊松密度编码,c++,probability,bitcoin,bitcoind,bitcoinj,C++,Probability,Bitcoin,Bitcoind,Bitcoinj,以下内容来自。其目的是计算攻击者获得幸运的概率(P),并用q表示控制网络的百分比来覆盖z块数 我感兴趣的是从这个角度向后移动,并计算攻击者必须控制的网络百分比,以便在给定成功概率p的情况下回滚x个块 这是可能的还是我在想这件奇怪的事 我如何在代码中表示求解q而不是p Converting to C code... #include <math.h> double AttackerSuccessProbability(double q, int z)

以下内容来自。其目的是计算攻击者获得幸运的概率(P),并用q表示控制网络的百分比来覆盖z块数

我感兴趣的是从这个角度向后移动,并计算攻击者必须控制的网络百分比,以便在给定成功概率p的情况下回滚x个块

这是可能的还是我在想这件奇怪的事

我如何在代码中表示求解q而不是p

    Converting to C code...
    #include <math.h>
    double AttackerSuccessProbability(double q, int z)
    {
       double p = 1.0 - q;
       double lambda = z * (q / p);
       double sum = 1.0;
       int i, k;
       for (k = 0; k <= z; k++) {
             double poisson = exp(-lambda);
             for (i = 1; i <= k; i++) {
                     poisson *= lambda / i;
                     sum -= poisson * (1 - pow(q / p, z - k));
             }
       return sum;
       }
    }
正在转换为C代码。。。
#包括
双重攻击成功概率(双q,int z)
{
双p=1.0-q;
双λ=z*(q/p);
双和=1.0;
int i,k;
对于(k=0;k