I am a beginner in using Lambda expression feature in Java 8. Lambda expressions are pretty well useful in solving programs like Prime number check, factorial etc.

However can they be utilized effectively in solving problems like Fibonacci where the current value depends on sum of previous two values. I have pretty well solved prime number check problem effectively using Lambda expressions. The code for the same is given below.

```
boolean checkPrime=n>1 && LongStream.range(2, (long) Math.sqrt(n)).parallel().noneMatch(e->(n)%e==0);
```

In the above code in the `noneMatch`

method we are evaluating with the current value(`e`

) in the range. But for the Fibonacci problem, we requires previous two values.

How can we make it happen?

## Best Solution

The simplest solution is to use a stream of

`Pair`

s:Due to the lack of a standard pair type, it uses a two-element array. Further, I use

`.limit(92)`

as we can't evaluate more elements using`long`

values. But it's easy to adapt to`BigInteger`

:That'll run until you haven't enough memory to represent the next value.

By the way, to get the

nth element from the stream: