Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Task1 {
- double sum = 15000;
- double percent1 = 0.15;
- double percent2 = 0.09;
- double checkCost = 80;
- int[][] m = new int[][] {{735, 15}, {225, 25}};
- public Task1(Task1Params params) {
- sum = params.sum;
- percent1 = params.percent1;
- percent2 = params.percent2;
- checkCost = params.checkCost;
- m = params.vMatrix;
- }
- public boolean solve() {
- double s1 = m[0][0] + m[0][1];
- double s2 = m[1][0] + m[1][1];
- double pWinPass = m[0][0] / s1; //вернули проверку прошел
- double pLosePass = m[0][1] / s1; //не вернули проверку прошел
- double pWinFail = m[1][0] / s2; //вернули проверку не прошел
- double pLoseFail = m[1][1] / s2; //не вернули проверку не прошел
- double pPass = s1 / (s1 + s2); //вер-ть пройти проверку
- double pFail = 1 - pPass; //вер-ть не пройти проверку
- double pLose = (m[0][1] + m[1][1]) / (s1 + s2); //вер-ть что не вернут
- double pWin = 1 - pLose; //вер-ть что вернут
- double profitWithCheck = 0;
- double profitWithoutCheck = 0;
- double denied = percent2 * sum;
- profitWithoutCheck = Math.max(denied, percent1 * sum * pWin - sum * pLose);
- profitWithCheck = -checkCost +
- pPass * (Math.max(denied, percent1 * sum * pWinPass - sum * pLosePass)) +
- pFail * (Math.max(denied, percent1 * sum * pWinFail - sum * pLoseFail));
- return profitWithCheck > profitWithoutCheck;
- }
- public static void main(String[] args) {
- Task1Params params = new Task1Params();
- params.checkCost = 300;
- System.out.println(new Task1(params).solve());
- }
- public static class Task1Params {
- double sum = 15000;
- double percent1 = 0.15;
- double percent2 = 0.09;
- double checkCost = 80;
- int[][] vMatrix = new int[][] {{735, 15}, {225, 25}};
- }
- }
Add Comment
Please, Sign In to add comment