微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HDU-1042(大数阶乘_java)

N!

Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 40878    Accepted Submission(s): 11339


Problem Description
Given an integer N(0 ≤ N ≤ 10000),your task is to calculate N!
 

Input
One N in one line,process to the end of file.
 

Output
For each N,output N! in one line.
 

Sample Input
  
  
1 2 3
 

Sample Output
  
  
1 2 6
 

Author
JGShining(极光炫影)


呼呼,还是要把java练一练那,如果练好了,真是事半功倍呀,而且一定要把java学精通那,.,要不然,自己写高精度可就累死了,而且随着科技的发展,java能够脱颖而出是有它的道理的,


贴出我的N!的java代码:

import java.util.Scanner;//这是输入必须要引入的类
import java.math.BigInteger;//这是利用大数必须要用的类

/*
 *传说中的大数精度,用java一下子就解决了,我表示很无语,*但是如果你没有写过的话,还是写不出来的.
 *肯定是要多练习的
 */


public class Main {
	public static void main (String[] args) {
		Scanner input = new Scanner(system.in);
		BigInteger a;//声明一个大数的引用a
		a = BigInteger.valueOf(1);//这个valueOf可以将int,long,str顺利转变成BigInteger类型;
    	int N;
    	while (input.hasNext())//input.hasNext()就相当于!= EOF
    	{
    		N = input.nextInt();
    		for (int i = 1; i <= N; i++)
    		{
    			
    			a = a.multiply(BigInteger.valueOf(i));//将整型的数转换成BigInteger;
    		}
    		System.out.println (a);
    		a = BigInteger.valueOf(1);//记住每次都要把a转置成1;
    	}
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐