zoukankan      html  css  js  c++  java
  • 斐波拉契数列(Lambda表达式)

    package top.dj.test;
    
    import java.math.BigInteger;
    import java.util.stream.LongStream;
    import java.util.stream.Stream;
    
    /**
     * @Author DengJia
     * @Date 2021/7/30 10:19
     * @Description 斐波拉契数列
     */
    
    public class FibonacciSequence {
        static long a = 0, b = 1;
    
        static BigInteger preInt = new BigInteger("0");
        static BigInteger nextInt = new BigInteger("1");
    
        public static void main(String[] args) {
            /* Integer,Long 数据类型长度有限,会溢出 */
            fibonacciLongStream();
    
            /* BigInteger 使用麻烦一点,但不会有溢出问题 */
            fibonacciBigInteger();
        }
    
        public static void fibonacciLongStream() {
            LongStream.generate(() -> {
                long tmp = a;
                a = b;
                b += tmp;
                return a;
            }).limit(100).forEach(System.out::println);
        }
    
        public static void fibonacciBigInteger() {
            Stream.generate(() -> {
                BigInteger tmp = preInt;
                preInt = nextInt;
                nextInt = nextInt.add(tmp);
                return preInt;
            }).limit(200).forEach(System.out::println);
        }
    }
    
    DJOSIMON
  • 相关阅读:
    tcp粘包解决
    socket网络编程
    logging模块
    异常处理
    hashlib configparser模块
    列表推导式和生成器表达式和内置函数
    迭代器与生成器
    装饰器
    函数
    文件操作
  • 原文地址:https://www.cnblogs.com/DJOSIMON/p/15078483.html
Copyright © 2011-2022 走看看