Я начинаю использовать функцию выражения Lambda в Java 8. Лямбда-выражения довольно полезны при решении таких программ, как проверка номера, факториал и т.д.
Однако они могут эффективно использоваться при решении таких задач, как Фибоначчи, где текущее значение зависит от суммы предыдущих двух значений. Я довольно хорошо решил задачу проверки числа чисел, эффективно используя выражения Лямбда. Код для него приведен ниже.
boolean checkPrime=n>1 && LongStream.range(2, (long) Math.sqrt(n)).parallel().noneMatch(e->(n)%e==0);
В приведенном выше коде в методе noneMatch
мы оцениваем текущее значение (e
) в диапазоне. Но для задачи Фибоначчи нам нужны предыдущие два значения.
Как мы можем это сделать?