Ссылка на оригинальную статью.
Условие:
Совместная работа. Известно время [latex]t_{1},t_{2}, \cdots,t_{n}[/latex], за которое некоторую работу может выполнить каждый из [latex]n[/latex] рабочих бригады, работая в одиночку. Сколько времени понадобится бригаде на выполнение этой работы, если они будут работать совместно (и при этом никто из них не «сачкует»)
Тесты
Количество рабочих n. | Время t каждого рабочего, требуемое для выполнения некоторой работы. | Время совместной работы. |
3 | 2 4 5 | 1.1 |
4 | 5 7 9 4 | 1.4 |
5 | 2 4 5 1 2 | 0.4 |
7 | 8 6 5 6 6 7 2 | 0.7 |
Решение:
В программе используются два цикла. Первый– для ввода времени каждого рабочего, а второй– для вычисления общей производительности рабочих. Call–callaboration (время совместной работы), sum – общая производительность рабочих.В данной задаче нам нужно найти время, за которое [latex]n[/latex] рабочих выполнят какую-то совместную работу. В задаче не указан общий объём выполняемой работы, по-этому зададим его как 1. Время совместной работы находят по формуле: [latex]t_{call}=\frac{V}{\frac{V}{t_{1}}+\frac{V}{t_{2}}+\cdots+\frac{V}{t_{n}}}[/latex], где [latex]V[/latex] – общий объём выполняемой работы, т.е – 1. Т.к в задаче не указана единица измерения времени, будем считать все в часах.
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
package qwerty; import neko.Lib; /** * ... * @author Zavada Sergey */ class Main { static function main() { var h:Int = Std.parseInt(Sys.stdin().readLine()); var A = []; for (i in 0...h) { var b:Int = Std.parseInt(Sys.stdin().readLine()); A.push(b); //ввод времени для каждого рабочего } var sum:Float = 0; var call:Float = 0; for(i in 0...h) { sum+=1/A[i]; //сумма производительности труда каждого рабочего } call = 1 / sum; //время совместной работы trace("Совместная работа " + h + " рабочих выполняется за " + Math.round(10.0 * call) / 10.0 + " часов"); } } |
- e-olymp 974. Флойд-1 - 13.06.2017
- e-olymp 1872. Снеговики - 13.06.2017
- A155 - 13.05.2017
Конечно, массив здесь только как упражнение. Без него вполне можно обойтись.