杭电1042

来源:互联网 发布:mysql备份数据库 编辑:程序博客网 时间:2024/06/07 18:17

N!

时间限制:10000/5000 MS(Java / Others)内存限制:262144/262144 K(Java / Others)
总提交:81924接受的提交:24041


问题描述
给定一个整数N(0≤N≤10000),你的任务是计算N!
 

输入
一个N一行,进程到文件的末尾。
 

产量
对于每个N,输出N!在一行。
 

样品输入
123

样品输出
12 
6

   
代码:
import java.math.BigDecimal;
import java.sql.Array;
import java.util.HashMap;
import java.util.Scanner;
import java.util.StringTokenizer;


public class Main {


public static void main(String[] args) {
 Scanner scanner = new Scanner(System.in);
 while (scanner.hasNext()) {
int n = scanner.nextInt();
BigDecimal mBigDecimal =new BigDecimal(1);
System.out.println(mBigDecimal);
BigDecimal aBigDecimal;
for (int i = 2; i <=n; i++) {
aBigDecimal=new BigDecimal(i);
mBigDecimal=mBigDecimal.multiply(aBigDecimal);

}

System.out.println(mBigDecimal);
}
}
}
     需要用到BigDecimal。BigDecimal有四个构造方法。BigDecimal(int)创建一个具有参数所指定整数值的对象、     
BigDecimal(double)创建一个具有参数所指定双精度的对象、BigDecmial(long)创建一个具有参数所指定长整数的对象、
BigDecimal(String)创建一个具有参数所指定以字符串表示的数值对象。
BigDecimal add(BigDecimal augend)加法运算、BigDecimal subtract(BigDecimal subtrahend)减法运算、BigDecimal multiply(BigDecimal multiplicand)乘法运算、BigDecimal divide(BigDecimal divisor)除法运算。
例子:

原创粉丝点击