zoukankan      html  css  js  c++  java
  • 计算 1+2!+3!+4!+...20!=?

    package algs.factorial;
    
    import java.math.BigInteger;
    
    /**
     * Author: areful
     * Date: 2019/3/6
     * 计算 sum(n!), n=1,2, ... 20
     */
    public class NFactorial {
        public static void main(String[] args) {
            System.out.println(calcFactorial0(3));
            System.out.println(calcFactorial1(3));
            System.out.println(calcFactorial2(3));
    
            System.out.println(calcFactorial0(50));
            System.out.println(calcFactorial1(50));
            System.out.println(calcFactorial2(50));
        }
    
        private static long calcFactorial0(int n) {
            long sum = 0L;
            long l = 1L;
            for (int i = 1; i <= n; i++) {
                l *= i;
                sum += l;
            }
            return sum;
        }
    
        private static double calcFactorial1(int n) {
            double sum = 0L;
            double l = 1L;
            for (int i = 1; i <= n; i++) {
                l *= i;
                sum += l;
            }
            return sum;
        }
    
        private static BigInteger calcFactorial2(int n) {
            BigInteger sum = BigInteger.valueOf(0L);
            BigInteger l = BigInteger.valueOf(1L);
            for (int i = 1; i <= n; i++) {
                BigInteger mul = BigInteger.valueOf(i);
                l = l.multiply(mul);
                sum = sum.add(l);
            }
            return sum;
        }
    }
    

      运行结果:

  • 相关阅读:
    typescript 装饰器
    typescript 中的模块
    深入理解typeScript中的泛型类
    泛型 泛型类
    vue跨域
    我喜欢的网站
    vuex
    路由导航守卫
    最多显示两行
    git命令
  • 原文地址:https://www.cnblogs.com/areful/p/10481162.html
Copyright © 2011-2022 走看看