【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) 判断相等
这道题的代码如下:
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 import java.math.BigInteger; 5 6 public class Main { 7 public static void main(String[] args)throws IOException{ 8 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 9 BigInteger[] fac = new BigInteger[101]; 10 fac[0] = fac[1] = BigInteger.ONE; 11 12 for(int i = 2;i <= 100;i++) 13 { 14 BigInteger temp = BigInteger.valueOf(i); 15 fac[i] = fac[i-1].multiply(temp); 16 } 17 18 int t = Integer.parseInt(bf.readLine()); 19 while(t-- > 0){ 20 int num = Integer.parseInt(bf.readLine()); 21 System.out.println(fac[num]); 22 } 23 } 24 25 }
分类:
CodeChef
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了