Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <math.h>
- #include <stdio.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;
- }
- int main() {
- double P;
- double q = 0.49;
- for (int z = 0; z <= 1000; z++ ) {
- P = AttackerSuccessProbability(q, z);
- printf("q=%f z=%d P=%f\n", q, z, P);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement