Guest User

Untitled

a guest
Apr 22nd, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. public class Task1 {
  2. double sum = 15000;
  3. double percent1 = 0.15;
  4. double percent2 = 0.09;
  5. double checkCost = 80;
  6. int[][] m = new int[][] {{735, 15}, {225, 25}};
  7.  
  8. public Task1(Task1Params params) {
  9. sum = params.sum;
  10. percent1 = params.percent1;
  11. percent2 = params.percent2;
  12. checkCost = params.checkCost;
  13. m = params.vMatrix;
  14. }
  15.  
  16. public boolean solve() {
  17. double s1 = m[0][0] + m[0][1];
  18. double s2 = m[1][0] + m[1][1];
  19. double pWinPass = m[0][0] / s1; //вернули проверку прошел
  20. double pLosePass = m[0][1] / s1; //не вернули проверку прошел
  21. double pWinFail = m[1][0] / s2; //вернули проверку не прошел
  22. double pLoseFail = m[1][1] / s2; //не вернули проверку не прошел
  23.  
  24. double pPass = s1 / (s1 + s2); //вер-ть пройти проверку
  25. double pFail = 1 - pPass; //вер-ть не пройти проверку
  26. double pLose = (m[0][1] + m[1][1]) / (s1 + s2); //вер-ть что не вернут
  27. double pWin = 1 - pLose; //вер-ть что вернут
  28.  
  29. double profitWithCheck = 0;
  30. double profitWithoutCheck = 0;
  31.  
  32. double denied = percent2 * sum;
  33.  
  34. profitWithoutCheck = Math.max(denied, percent1 * sum * pWin - sum * pLose);
  35. profitWithCheck = -checkCost +
  36. pPass * (Math.max(denied, percent1 * sum * pWinPass - sum * pLosePass)) +
  37. pFail * (Math.max(denied, percent1 * sum * pWinFail - sum * pLoseFail));
  38.  
  39. return profitWithCheck > profitWithoutCheck;
  40. }
  41.  
  42. public static void main(String[] args) {
  43. Task1Params params = new Task1Params();
  44. params.checkCost = 300;
  45.  
  46. System.out.println(new Task1(params).solve());
  47. }
  48.  
  49.  
  50.  
  51. public static class Task1Params {
  52. double sum = 15000;
  53. double percent1 = 0.15;
  54. double percent2 = 0.09;
  55. double checkCost = 80;
  56. int[][] vMatrix = new int[][] {{735, 15}, {225, 25}};
  57. }
  58.  
  59. }
Add Comment
Please, Sign In to add comment