Ссылка на оригинальную статью.
Ссылка на решение задачи на сайте Try Haxe!
Условие:
Даны натуральное число [latex]n [/latex] и действительные числа [latex] x_{1},\ldots, x_{n} [/latex] [latex](n\geq 2)[/latex]
Вычислить:
[latex]\left(\left(\frac{1}{|x_{1}|+1}+x_{2} \right)\left(\frac{1}{|x_{2}|+1}+x_{3} \right)\cdots\left(\frac{1}{|x_{n-1}|+1}+x_{n} \right)\right)[/latex]
Тесты
Ввод | Вывод | |
$n$ | $x_1, \ldots, x_n$ | $k$ |
2 | 1 1 | 1.5 |
3 | 0.5 1 2 | 4.16667 |
3 | -0.3 1 -0.5 | 0 |
Решение:
Задаем переменные [latex]n,x,k[/latex]. В цикле умножаем переменную [latex]k[/latex] каждый раз на [latex]\left(\left(\frac{1}{|x_{n-1}|+1}+x_{n} \right)\right)[/latex]. После выводим значение [latex]k[/latex].
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import neko.Lib; /** * ... * @author Zavada Sergey */ class Main { static function main() { var n:Int = Std.parseInt(Sys.stdin().readLine()); var x:Float = Std.parseFloat(Sys.stdin().readLine()); var k:Float = 1; for (i in 1...n) { var y:Float = Std.parseFloat(Sys.stdin().readLine()); k *= ((1 / (Math.abs(x) + 1)) + y); x = y; } trace(k); } } |
Сергей Завада недавно публиковал (посмотреть все)
- e-olymp 974. Флойд-1 - 13.06.2017
- e-olymp 1872. Снеговики - 13.06.2017
- A155 - 13.05.2017
Сделал без массива.