【CodeChef】Small factorials(BigInteger笔记)
You are asked to calculate factorials of some small positive integers.
Input
An integer t, 1<=t<=100, denoting the number of testcases, followed by t lines, each containing a single integer n, 1<=n<=100.
Output
For each integer n given at input, display a line with the value of n!
题解:题目一定是故意的,用了好多small,其实这道题用java里面的BigInteger类才能够过=。=
在这里积累一下:
- 头文件:import java.math.BigInteger;
- BigInteger 表示任意大的整数,原则上是,只要你的计算机的内存足够大,可以有无限位的
- 常用的值:BigInteger.ONE、BigInteger.TEN、BigInteger.ZERO
- 常用的函数:基本的加减乘除,取模,指数,左右移,与或非,异或等都有,用的时候查就试了。列举常见的如下表
Valueof 赋初值,从别的类型转换过来 add 加法 subtract 减法 multiply 乘法 divide 除法 remainder 余数 pow 指数 gcd 公约数 shiftLeft 左移 xor 异或 intValue 转换成int equals(CompareTo) 判断相等
这道题的代码如下:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger; public class Main {
public static void main(String[] args)throws IOException{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BigInteger[] fac = new BigInteger[101];
fac[0] = fac[1] = BigInteger.ONE; for(int i = 2;i <= 100;i++)
{
BigInteger temp = BigInteger.valueOf(i);
fac[i] = fac[i-1].multiply(temp);
} int t = Integer.parseInt(bf.readLine());
while(t-- > 0){
int num = Integer.parseInt(bf.readLine());
System.out.println(fac[num]);
}
} }
【CodeChef】Small factorials(BigInteger笔记)的更多相关文章
- Java开发笔记(二十九)大整数BigInteger
早期的编程语言为了节约计算机的内存,给数字变量定义了各种存储规格的数值类型,比如字节型byte只占用一个字节大小,短整型short占用两个字节大小,整型int占用四个字节大小,长整型long占用八个字 ...
- Java学习笔记26(Math类、Arrays类、BigInteger类、BigDecimal类)
Math类:数学工具类,做一些数学计算,开方,对数,三角函数等 所有方法都是静态方法,不需要建立对象,直接用类名调用即可 示例: 这里写几个在日常开发中会用到的,比如三角函数之类的平时不会用到,了解即 ...
- 算法笔记--java的BigInteger类及BigDecimal类
引包:import java.math.*; BigInteger类: 可以使用构造方法:public BigInteger(String val),或者valueOf(int)函数,如: BigIn ...
- Java基础学习笔记之:System类;Math类;Arrays类BigInteger,BigDecimal
System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被priva ...
- Codeforces/TopCoder/ProjectEuler/CodeChef 散题笔记 (持续更新)
最近做到了一些有趣的散题,于是开个Blog记录一下吧… (如果有人想做这些题的话还是不要看题解吧…) 2017-03-16 PE 202 Laserbeam 题意:有一个正三角形的镜子屋,光线从$C$ ...
- Thinking in Java 笔记
大二就买了这本书,如今再看这本书,看到了一些以前没看的细节,也有了不同的体会.本文使用第4版,整理每章的笔记心得.老外的书有个特点,他会花费大量的文字去阐述一个概念,这比堆代码强多了. 第 1 章 对 ...
- [阅读笔记]Software optimization resources
http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++ 7. The efficiency of differe ...
- java 笔记(1)-—— JVM基础,内存数据,内存释放,垃圾回收,即时编译技术JIT,高精度类型
1.java中5个存放数据的地方: (1).寄存器(Registers):位于CPU内部,是速度最快的存储区,但是数量和容量有限.在java中不能直接操作寄存器. (2).栈(Stack):栈位于通用 ...
- 01-Java学习笔记
本系列笔记由常彦博整理,请知悉 目 录 一. Java技术基础.................................................................... ...
随机推荐
- Hibernate查询语言(HQL)
Hibernate查询语言(HQL)与SQL(结构化查询语言)相同,但不依赖于数据库表. 我们在HQL中使用类名,而不是表名. 所以是数据库独立的查询语言. HQL的优点 HQL有很多优点. 它们如下 ...
- Java中将时间戳转化为Date类型
时间戳timestamp,从前端接收到后.他能够是一个long或者包装类Long再或者是个String类型.仅仅需 new Date(时间戳) 就能够直接转化为java.util.Date类型. 转化 ...
- html 模版
使用后台开发语言的都很了解语言的动态性给开发带来的好处,PHP,aspx,jsp页面都可以直接使用相应的语法和变量,输出的事就交给解释器或编译器了,用起来方便快捷,但需要额外的解释工作: 例如php模 ...
- Android实现短信监听并且转发到指定的手机号,转发后不留痕
转载:http://blog.csdn.net/swqqcs/article/details/7252419 通过这些代码也可以对远程手机实现短信控制.有兴趣的可以自己改一下,说一下简单的原理,要实现 ...
- HDU1712ACboy needs your help【分组背包】
ACboy needs your help Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- redis 集群出现的错误
1 解决方法: 不用 Jedis jed =new jedis("192.168.56.101"); jed.set(key,value); 用 Set<HostAndPor ...
- Android OpenCV图像转换
1.Mat存储到本地: public void saveMatData(Mat mat) { File fileDir = new File(Environment.getExternalStorag ...
- Handler classes should be static or leaks might occur
http://droidyue.com/blog/2014/12/28/in-android-handler-classes-should-be-static-or-leaks-might-occur ...
- EasyNVR浏览器无插件直播在Linux系统下将录像文件与EasyNVR可执行文件分离运行的方案
问题背景 在工控机上运行EasyNVR,WEB访问出现设备在线,但是视频没有快照和无法正常直播: 问题原因分析 通过上工控机发现是由于磁盘空间被占满导致的软件运行收到影响. 解决问题分析 由于录像文件 ...
- go build说明
go build命令用于编译我们指定的源码文件或代码包以及它们的依赖包. 例如,如果我们在执行go build命令时不后跟任何代码包,那么命令将试图编译当前目录所对应的代码包.例如,我们想编译goc2 ...