Условие задачи
Определить время падения камня на поверхность земли с высоты [latex]h[/latex].
Алгоритм решения
Для начала оговорим трактовку условия задачи.
1. Поскольку в условии ничего не говорится про начальную скорость камня, будем считать ее равной нулю.
2. Аналогично в условии ничего не говорится про точность результата. От этого зависит как округление до определенного количества знаков после запятой в выводе, так и то, с какой точностью следует указать ускорение свободного падения, поскольку каноны физики требуют, чтобы ответ на физическую задачу указывался с точностью наимение точно указанного в условии данного. В данном решении я взял значение [latex]g[/latex] свойственное Одессе с точностью 4 значка после запятой. Соответственно, ответ будет выводиться с такой же точностью.
3. Предполагается что высота и время должны указываться в СИ
Тогда наша рабочая формула выглядит следующим образом: \[\sqrt{\frac{2 \cdot h}{g}},\] где \[g = 9.8075 \frac{m}{s^{2}}\] Вводить в программе [latex]g[/latex], как отдельную переменную или константу нет смысла, т.к. она используется только раз. Поэтому в коде вместо [latex]g[/latex] стоит просто ее значение.
Тесты
№ | Высота (м) | Время (сек) |
1 | 0 | 0 |
2 | 5 | 1.0098 |
3 | 20 | 2.0195 |
4 | 80 | 4.0391 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { double h; Scanner sc = new Scanner(System.in); h = sc.nextInt(); double p = Math.sqrt(2*h/9.8075); System.out.printf("%.4f", p); sc.close(); } } |
Код на ideone.com.
Задача оригинал на языке С++(другого автора) на java.mazurok.com.