Задача: в такси одновременно сели три пассажира. Когда вышел первый пассажир, на счетчике было [latex]p_{1}[/latex] рублей; когда вышел второй — [latex]p_{2}[/latex] рублей. Сколько должен был заплатить каждый пассажир, если по окончании поездки счетчик показал [latex]p_{3}[/latex] рублей? Плата за посадку составляет [latex]p_{0}[/latex] рублей.
Ввод | Вывод | ||||||
[latex]p_{0}[/latex] | [latex]p_{1}[/latex] | [latex]p_{2}[/latex] | [latex]p_{3}[/latex] | [latex]op_{1}[/latex] | [latex]op_{2}[/latex] | [latex]op_{3}[/latex] | Комментарий |
0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | Пройден |
6 | 1 | 2 | 3 | 2.33 | 2.83 | 3.83 | Пройден |
7 | 2 | 5 | 16 | 3.00 | 4.50 | 15.50 | Пройден |
1 | 1 | 1 | 1 | 0,67 | 0,67 | 0,67 | Пройден |
150 | 1138 | 2590 | 5788 | 429.33 | 1155.33 | 4353.33 | Пройден |
3 | 0 | 0 | 6 | 1.00 | 1.00 | 7.00 | Пройден |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> int main() { double p0, p1, p2, p3; //Поездка double op1, op2, op3; //Оплата scanf("%lf %lf %lf %lf", &p0, &p1, &p2, &p3); op1 = p0/3 + p1/3; op2 = p0/3 + p1/3 + (p2-p1)/2; op3 = p0/3 + p1/3 + (p2-p1)/2 + (p3-p2); printf("Первый заплатил %5.3lf\n",op1); printf("Второй заплатил %5.3lf\n",op2); printf("Третий заплатил %5.3lf\n",op3); return 0; } |
— состОвляет?
— нужно указать рубрику и ключевые слова
— если решать так как Вы придумали, то смысла точно нет 🙂
Первый участок проехали трое и расходы делятся на троих. Второй участок — двое, значит за него двое платят поровну. Последний участок проехал один, ему за него и платить. Поскольку на момент выхода из такси каждый знает свою сумму, он её и передаёт третьему, который рассчитывается с таксистом в конце пути.
Исправил, спасибо большое за адекватный алгоритм.
Зачтено.
Половина оценки моя?