В честь дня рождения наследника Тутти королевский повар приготовил огромный праздничный торт, который был подан на стол Трем Толстякам. Первый толстяк сам мог бы целиком его съесть за $t_1$ часов, второй — за $t_2$ часов, а третий — за $t_3$ часов.
Сколько времени потребуется толстякам, чтобы съесть весь праздничный торт вместе?
Входные данные
Единственная строка содержит три целых неотрицетельных числа $t_1$, $t_2$ и $t_3$, каждое из которых не превосходит $1000$.
Выходные данные
Вывести время в часах, за которое толстяки вместе могут съесть торт. Результат округлить до двух десятичных знаков.
Тесты
$t_1$ | $t_2$ | $t_3$ | $t$ |
3 | 3 | 3 | 1.00 |
4 | 67 | 50 | 3.51 |
228.22 | 8 | 2.28 | 1.76 |
1577 | 157.7 | 15.77 | 14.21 |
С ветвлением
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { java.util.Scanner i = new java.util.Scanner(System.in); double t1 = i.nextDouble(); double t2 = i.nextDouble(); double t3 = i.nextDouble(); double t; t = (t1*t2*t3) / (t1*t2 + t1*t3 + t2*t3); if(t1*t2*t3 == 0) System.out.println(t); else System.out.printf("%.2f",t); } } |
Без ветвления
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Main { public static void main (String[] args) throws java.lang.Exception { java.util.Scanner i = new java.util.Scanner(System.in); double t1 = i.nextDouble(); double t2 = i.nextDouble(); double t3 = i.nextDouble(); double t = 1 / (1 / t1 + 1 / t2 + 1 / t3) ; System.out.printf("%.2f",t); } } |
Решение с ветвлением
Первый толстяк ест со скоростью один торт за $t_1$ часов. Аналогично и с остальными толстяками. Тогда из торта следует вычесть те части, которые съест каждый, чтобы торта не осталось. Получается уравнение
$1-\frac{t}{t_1}-\frac{t}{t_2}-\frac{t}{t_3}=0;$
$\frac{t}{t_1}+\frac{t}{t_2}+\frac{t}{t_3}=1;$
$\frac{tt_2t_3+tt_1t_3+tt_1t_2}{t_1t_2t_3}=1;$
$t\left(t_1t_2+t_2t_3+t_1t_3\right)=t_1t_2t_3;$
$t = \frac{t_1t_2t_3}{t_1t_2+t_2t_3+t_1t_3};$
Рассматриваем случай, при котором одна из переменных равна нулю, тогда выводим ноль. В противном случае выводим значение $t$ с округлением до сотых.
Решение без ветвления
Так как по условию задачи первый толстяк съедает весь торт за $t_1$ часа, второй — за $t_2$ часа и третий — за $t_3$ часа, то их скорость поедания торта составит $\frac{1}{t_1}$, $\frac{1}{t_2}$ и $\frac{1}{t_3}$ торта в час соответсвенно. Если толстяки будут есть торт одновременно, то в час они будут съедать $\left(\frac{1}{t_1}+\frac{1}{t_2}+\frac{1}{t_3}\right)$ часть торта. Тогда весь торт будет съеден за $\frac{1}{\frac{1}{t_1}+\frac{1}{t_2}+\frac{1}{t_3}}$ часов.
Затем нужно вывести результат, округлённый до двух десятичных знаков.
Отступы
Исправил