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 inpu…
早期的编程语言为了节约计算机的内存,给数字变量定义了各种存储规格的数值类型,比如字节型byte只占用一个字节大小,短整型short占用两个字节大小,整型int占用四个字节大小,长整型long占用八个字节大小.但是长整型也只能表达到负2的63次方~2的63次方-1,超出这个范围的巨大整数,竟连long类型也放不下.何况现在不管手机还是电脑的内存都是以GB计量,因此原先锱铢计较几个字节的数值类型便不合时宜了.为此Java又设计了一种大整数类型BigInteger,这个BigInteger能够表示任意…
Math类:数学工具类,做一些数学计算,开方,对数,三角函数等 所有方法都是静态方法,不需要建立对象,直接用类名调用即可 示例: 这里写几个在日常开发中会用到的,比如三角函数之类的平时不会用到,了解即可 package demo; public class MathDemo { public static void main(String[] args) { function1(); function2(); function3(); function4(); function5(); } pu…
引包:import java.math.*; BigInteger类: 可以使用构造方法:public BigInteger(String val),或者valueOf(int)函数,如: BigInteger a=new BigInteger("123456789123456789123456789"); int b; a = BigInteger.valueOf(b); 也可以直接读入,如: Scanner reader=new Scanner(System.in); BigInt…
System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象.System类中的都是static方法,类名访问即可.在JDK中,有许多这样的类.常用方法 currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值 exit(int status) 用来结束正在运行的Java程序.参数传…
最近做到了一些有趣的散题,于是开个Blog记录一下吧… (如果有人想做这些题的话还是不要看题解吧…) 2017-03-16 PE 202 Laserbeam 题意:有一个正三角形的镜子屋,光线从$C$点射入,求恰好反射$12017639147$次后在$C$点射出的方案数. 题解:关于反射问题容易想到对称性,不断对称翻转正三角形,可以密铺整个平面,这样一条反射$k$次的路径对应平面上经过$k$条边的路径. 然后取$CB,CA$为基,把平面画正,就能得到一个带有平行的对角线的网格图,稍微观察一下就能…
大二就买了这本书,如今再看这本书,看到了一些以前没看的细节,也有了不同的体会.本文使用第4版,整理每章的笔记心得.老外的书有个特点,他会花费大量的文字去阐述一个概念,这比堆代码强多了. 第 1 章 对象导论 1.1 抽象 抽象是计算机最重要的概念之一.抽象就是从杂乱的事物表象中,提取出对待解决问题来说最关键的部分内容.C 在解决问题时,主要是基于计算机的结构进行抽象,而不是基于所要解决的问题的结构.而 Java 则是针对问题进行建模,根据问题来描述问题,程序可以通过添加一个新类型的对象使自身适用…
http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++   7. The efficiency of different C++ constructs 栈的速度快是因为,总是反复访问同一段地址,如果没有大的数组,肯定实在L1 cahce中. 全局静态区,global,static变量,float constants, string constants, array initializer lists,switch…
1.java中5个存放数据的地方: (1).寄存器(Registers):位于CPU内部,是速度最快的存储区,但是数量和容量有限.在java中不能直接操作寄存器. (2).栈(Stack):栈位于通用随机访问存储器 (General random-access memory,RAM,内存) 中,通过处理器的栈指针访问,栈指针从栈顶向栈底分配内存,从栈底向栈顶释放内存.栈是仅次于寄存器的速度第二快的存储器,在java程序中,一般的8种基本类型数据和对象的引用通常存放在栈内存中,不通过new关键字的…
本系列笔记由常彦博整理,请知悉 目  录 一. Java技术基础......................................................................................................... 1 1.1编程语言.......................................................................................................…