• 阶乘之和 输入n,计算S=1!+2!+3!+…+n!的末6位(不含前导0)。n≤10 6 ,n!表示 前n个正整数之积。


    阶乘之和
    输入n,计算S=1!+2!+3!+…+n!的末6位(不含前导0)。n≤10 6 ,n!表示
    前n个正整数之积。
    样例输入:
    10
    样例输出:

    package demo;
    
    import java.util.Scanner;
    public class demo02 {
    	public static void main(String[] args) {
    		Scanner in=new Scanner(System.in);
    		int n=in.nextInt();
    		long sum=0;
    		for (int i = 1; i <=n; i++) {
    			sum=sum+jie2(i);
    		}
    		String str=Long.toString(sum);
    		str=str.substring(str.length()-6,str.length());
    		sum=Integer.parseInt(str);
    		System.out.println(sum);
    	}
    //	public static int jie(int num){
    //		if (num==1)
    //			return  1;
    //		else
    //			return jie(num-1)*num;
    //	}
    	public static long jie2(int num2){
    		long sum=1;
    		for (int i = 1; i <=num2; i++) {
    			sum=sum*i;
    			String str=Long.toString(sum);
    			if (str.length()>6) {
    				str=str.substring(str.length()-7,str.length());
    				sum=Integer.parseInt(str);
    				if (sum==0) {
    					return sum=0;
    				}
    			}
    		}
    		return sum;
    	}
    }
    

      


    37913

  • 相关阅读:
    SQL操作符的优化
    Oracle 模糊查询 优化
    Mysql中的语句优化
    SQL优化
    Pro Git读书笔记
    前端工程化
    前端工程化
    前端工程化
    前端工程化
    前端工程化
  • 原文地址:https://www.cnblogs.com/lonecloud/p/5468752.html
Copyright © 2020-2023  润新知