Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. #include <math.h>
  2. #include <stdio.h>
  3.  
  4. double AttackerSuccessProbability(double q, int z) {
  5. double p = 1.0 - q;
  6. double lambda = z * (q / p);
  7. double sum = 1.0;
  8. int i, k;
  9. for (k = 0; k <= z; k++)
  10. {
  11. double poisson = exp(-lambda);
  12. for (i = 1; i <= k; i++)
  13. poisson *= lambda / i;
  14. sum -= poisson * (1 - pow(q / p, z - k));
  15. }
  16. return sum;
  17. }
  18.  
  19. int main() {
  20. double P;
  21. double q = 0.49;
  22.  
  23. for (int z = 0; z <= 1000; z++ ) {
  24. P = AttackerSuccessProbability(q, z);
  25. printf("q=%f z=%d P=%f\n", q, z, P);
  26. }
  27.  
  28. return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement