zoukankan      html  css  js  c++  java
  • 阶乘之和 输入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

  • 相关阅读:
    Codeforces Beta Round #6 (Div. 2 Only)
    Codeforces Beta Round #5
    Codeforces Beta Round #4 (Div. 2 Only)
    Codeforces Beta Round #3
    Codeforces Beta Round #2
    Codeforces Beta Round #1
    HDU 4020 Ads Proposal
    SRM 615 DIV1 500
    求1+2+……+n(位运算)
    好好加油!
  • 原文地址:https://www.cnblogs.com/lonecloud/p/5468752.html
Copyright © 2011-2022 走看看