Subato

Stream der Fibonaccizahlen

import java.util.stream.*;

class FibStream{
  static public Stream<TwoLong> fibPairs(){
    return Stream.iterate(new TwoLong(0,1),is -> new TwoLong(is.i2(),is.i1()+is.i2()));
  }
  static public Stream<Long> fibs(){
    return fibPairs().map(x->x.i1());
  }
  static public Stream<Long> fibs100(){
    return fibs().limit(100);
  }  
  static public long fib(int n){
    return fibs().skip(n-1).findFirst().get();
  } 
}