NYoj 28 大数阶乘

来源:互联网 发布:jre 7u40 windows x64 编辑:程序博客网 时间:2024/04/29 10:42

大数阶乘

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
输入
输入一个整数m(0<m<=5000)
输出
输出m的阶乘,并在输出结束之后输入一个换行符
样例输入
50
样例输出
30414093201713378043612608166064768844377641568960512000000000000
用JAVA的大数类写的,代码如下:
import java.math.*;import java.io.*;import java.io.InputStreamReader;import java.io.IOException;public class Main {    public static void main(String[] args) throws IOException {        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));        String str = in.readLine();        int n = Integer.parseInt(str);        BigInteger ans = new BigInteger(String.valueOf(1));        for(int i=2; i<=n; ++i) {            ans = ans.multiply(new BigInteger(String.valueOf(i)));        }        System.out.println(ans);    }}


0 0
原创粉丝点击