大数阶乘
题目28大数阶乘
时间限制:3000 ms ?|??????????? 内存限制:65535 KB
难度:3
?这样做不是很好,没限制位数,只能在NYOJ上AC,在杭电上就不通用了。具体优化代码参考大数问题里的N!http://blog.csdn.net/u013806814/article/details/33741029,附上JAVA代码:
#include<stdio.h>
加了详解: import java.math.*; import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); ? ? /*这个语句是java语句 这句话在java里面的意思是 * 新建一个系统默认输入(就是键盘)的对象, * 然后就可以用sc.next()等等语句进行输入了.*/ /*System.in 的意思是 应用接收用户手动输入*/ while(in.hasNext()){ ?? /*hasNext()是Scanner类的一个方法, 判断是否有输入,有输入项,a .hasNext()为true, 没有输入项,a .hasNext()为false。*/ BigInteger sum = new BigInteger("1"); int i,m; m=in.nextInt(); for(i=2; i<=m; i++){ sum=sum.multiply(BigInteger.valueOf(i)); } System.out.println(sum); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |