码迷,mamicode.com
首页 > 编程语言 > 详细

java 10000的阶乘

时间:2018-09-21 00:33:00      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:stat   阶乘   --   main   system.in   big   can   car   exti   

package test;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MyTest {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        List<Integer> result = new ArrayList<Integer>();
        int carry = 0;
        int digit = 1;
        int temp = 1;
        int i,j;
        result.add(1);
        for(i = 2;i<=n;i++){
            for(j = 0,carry = 0;j<digit;j++){
                temp = result.get(j)*i+carry;
                result.set(j, temp%10000);
                carry  = temp/10000;
            }
            
            while(carry != 0){
                result.add(digit++, carry%10000);
                carry/=10000;
            }
        }
        int count = 1;
        System.out.print(result.get(digit-1));
        for(i = digit-1;i>=1;i--){
            count++;
            if(result.get(i-1)<10){
                System.out.print("000");
            }else if(result.get(i-1)<100){
                System.out.print("00");
            }else if(result.get(i-1)<1000){
                System.out.print("0");
            }
            System.out.print(result.get(i-1));
            
        }
    }
}        

 

java 10000的阶乘

标签:stat   阶乘   --   main   system.in   big   can   car   exti   

原文地址:https://www.cnblogs.com/mophy/p/9684085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!