学下java 的大数该怎么用><

hdu 1023 Train Problem II

求 卡特兰 数

诶...不记得卡特兰数的我眼泪掉下来

第一次用 java 大数 有点激动...><

 import java.io.*;
import java.util.*;
import java.math.BigInteger; public class test{
public static void main(String args[]){
BigInteger[] a = new BigInteger[];
a[] = BigInteger.ZERO;
a[] = BigInteger.ONE;
for(int i = ;i <= ;i++){
BigInteger l = BigInteger.valueOf(*i-);
BigInteger r = BigInteger.valueOf(i+);
a[i] = a[i-].multiply(l);
a[i] = a[i].divide(r);
}
Scanner in = new Scanner(System.in);
int n;
while(in.hasNext()){
n = in.nextInt();
System.out.println(a[n]);
}
} }

hdu 1063 Exponentiation

求小数 a 的 b 次方

stripTrailingZeros:去掉末尾0

toPlainStrin:将科学计数法表示正常写法

startWith:去掉首位0

subtring(x) :截取从 第 x 位往后的字符串

 import java.io.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class test{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
BigDecimal a = in.nextBigDecimal();
int b = in.nextInt();
String ans = a.pow(b).stripTrailingZeros().toPlainString();
if(ans.startsWith("")){
ans = ans.substring();
}
System.out.println(ans);
}
} }

不过看C++的都是 0 ms 过,java要跑 500多ms

hdu 1047 Integer Inquiry

大数相加

 import java.io.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class Main{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
while(n-- > ){
BigInteger ans = BigInteger.ZERO;
while(in.hasNext()){
BigInteger tmp = BigInteger.ZERO;
tmp = in.nextBigInteger();
BigInteger zero = BigInteger.valueOf();
if(!tmp.equals(zero)){
ans = ans.add(tmp);
}
else{
System.out.println(ans);
if(n != ) System.out.println("");
break;
}
}
}
}
}

hdu 1316 How Many Fibs?

统计大数区间里面的斐波那契数的个数

用到 一个 compareto

 import java.io.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class Main{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
BigInteger f[] = new BigInteger[];
BigInteger zero = BigInteger.ZERO;
f[] = new BigInteger("");
f[] = new BigInteger("");
for(int i = ;i <= ;i++) f[i] = f[i-].add(f[i-]); while(in.hasNext()){
BigInteger l = in.nextBigInteger();
BigInteger r = in.nextBigInteger();
if(l.compareTo(zero) == && r.compareTo(zero) == ) break;
int ans = ;
for(int i = ;i <= ;i++){
if(l.compareTo(f[i]) <= && r.compareTo(f[i]) >= ) ans++;
}
System.out.println(ans);
}
}
}

hdu 1753 大明A+B

大实数相加

 import java.io.*;
import java.util.*;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
while (in.hasNext())
{
BigDecimal a=in.nextBigDecimal();
BigDecimal b=in.nextBigDecimal();
a=a.add(b);
String s=a.stripTrailingZeros().toPlainString();
// if (s.startsWith("0."))
// s=s.substring(1);
System.out.println(s);
}
}
}

hdu 1261 字串数

大数阶乘,除法

 import java.io.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class Main{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int[] a = new int[];
BigInteger[] f = new BigInteger[];
f[] = BigInteger.ONE;
for(int i = ;i < ;i++) {
BigInteger tmp = BigInteger.valueOf(i);
f[i] = f[i-].multiply(tmp);
}
int n;
while(in.hasNext()){
n = in.nextInt();
if(n == ) break;
int x;
BigInteger fz ,fm;
fm = BigInteger.ONE;
int fzz = ,fmm = ;
for(int i = ;i <= n;i++){
a[i] = in.nextInt();
fzz = fzz + a[i];
fm = fm.multiply(f[a[i]]);
}
fz = f[fzz];
//System.out.println(fz);
//System.out.println(fm);
BigInteger ans = fz.divide(fm);
System.out.println(ans);
}
}
}

java 板

 //卡特兰数
import java.io.*;
import java.util.*;
import java.math.BigInteger; public class test{
public static void main(String args[]){
BigInteger[] a = new BigInteger[];
a[] = BigInteger.ZERO;
a[] = BigInteger.ONE;
for(int i = ;i <= ;i++){
BigInteger l = BigInteger.valueOf(*i-);
BigInteger r = BigInteger.valueOf(i+);
a[i] = a[i-].multiply(l);
a[i] = a[i].divide(r);
}
Scanner in = new Scanner(System.in);
int n;
while(in.hasNext()){
n = in.nextInt();
System.out.println(a[n]);
}
} } /*求小数 a 的 b 次方
stripTrailingZeros:去掉末尾0
toPlainStrin:将科学计数法表示正常写法
startWith:去掉首位0
subtring(x) :截取从 第 x 位往后的字符串*/ import java.io.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class test{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
BigDecimal a = in.nextBigDecimal();
int b = in.nextInt();
String ans = a.pow(b).stripTrailingZeros().toPlainString();
if(ans.startsWith("")){
ans = ans.substring();
}
System.out.println(ans);
}
} } //大数相加
import java.io.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class Main{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
while(n-- > ){
BigInteger ans = BigInteger.ZERO;
while(in.hasNext()){
BigInteger tmp = BigInteger.ZERO;
tmp = in.nextBigInteger();
BigInteger zero = BigInteger.valueOf();
if(!tmp.equals(zero)){
ans = ans.add(tmp);
}
else{
System.out.println(ans);
if(n != ) System.out.println("");
break;
}
}
}
}
} //大实数相加
import java.io.*;
import java.util.*;
import java.math.BigDecimal;
public class Main {
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
while (in.hasNext())
{
BigDecimal a=in.nextBigDecimal();
BigDecimal b=in.nextBigDecimal();
a=a.add(b);
String s=a.stripTrailingZeros().toPlainString();
// if (s.startsWith("0."))
// s=s.substring(1);
System.out.println(s);
}
}
} //大数阶乘,除法
import java.io.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class Main{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int[] a = new int[];
BigInteger[] f = new BigInteger[];
f[] = BigInteger.ONE;
for(int i = ;i < ;i++) {
BigInteger tmp = BigInteger.valueOf(i);
f[i] = f[i-].multiply(tmp);
}
int n;
while(in.hasNext()){
n = in.nextInt();
if(n == ) break;
int x;
BigInteger fz ,fm;
fm = BigInteger.ONE;
int fzz = ,fmm = ;
for(int i = ;i <= n;i++){
a[i] = in.nextInt();
fzz = fzz + a[i];
fm = fm.multiply(f[a[i]]);
}
fz = f[fzz];
//System.out.println(fz);
//System.out.println(fm);
BigInteger ans = fz.divide(fm);
System.out.println(ans);
}
}
} /*主类名字必须是Main
读一个整数: int n = cin.nextInt();
读一个字符串:String s = cin.next();
读一个浮点数:double t = cin.nextDouble();
读一整行: String s = cin.nextLine();
判断是否有下一个输入可以用 cin.hasNext() 或 cin.hasNextInt() 或 cin.hasNextDouble() 等 输出浮点数保留位数
DecimalFormat f = new DecimalFormat("#.00#");
DecimalFormat g = new DecimalFormat("0.000");
double a = 123.45678, b = 0.12;
System.out.println(f.format(a));
System.out.println(f.format(b));
System.out.println(g.format(b)); 大数的运算
BigInteger add(BigInteger other)
BigInteger subtract(BigInteger other)
BigInteger multiply(BigInteger other)
BigInteger divide(BigInteger other)
BigInteger mod(BigInteger other)
int compareTo(BigInteger other)
static BigInteger valueOf(long x) 输出直接用 System.out.println(a)*/ StringBuffer
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.BigDecimal;
import java.math.BigInteger; public class test{
public static void main(String args[]){
//赋值
StringBuffer a = new StringBuffer();//初始化
StringBuffer b = new StringBuffer("abc");
String c = "abc";
StringBuffer d = new StringBuffer(c); //在末尾加
StringBuffer e = new StringBuffer("abc");
e.append(true); //删除指定index 位置的字符
StringBuffer f = new StringBuffer("abc");
f.deleteCharAt(); //删除指定区间的字符
StringBuffer g = new StringBuffer("abcdefghjjkl");
g.delete(,); //在index 位置插入字符串或者字符
StringBuffer h = new StringBuffer("huhhhuhuhuhhh");
String tmp = "njjjjjjj";
char ch = 'c';
h.insert(,ch);
h.insert(,tmp); //字符串反转
StringBuffer j = new StringBuffer("");
j.reverse(); //替换字符串
StringBuffer i = new StringBuffer("");
i.replace(, , "ab");//左闭右开 //子串
StringBuffer kk = new StringBuffer("");
String kk1 = kk.substring();//返回下标开始以后的字符串
String kk2 = kk.substring(,);//l 到 r-1的字符串
System.out.println(kk1);
System.out.println(kk2);
}
}

Java Java Java的更多相关文章

  1. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  2. Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。

    3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc. try { FileInputStream in = ...

  3. Java基础-输入输出-2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt

    2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt ...

  4. JAVA基础-输入输出:1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。

    1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上. package Test03; ...

  5. java视频教程 Java自学视频整理(持续更新中...)

    视频教程,马士兵java视频教程,java视频 1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播 ...

  6. 深入Java核心 Java内存分配原理精讲

    深入Java核心 Java内存分配原理精讲 栈.堆.常量池虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同.本文将深入Java核心,详细讲解Java内存分配方面的知识. Java内存分 ...

  7. java初探/java读取文件

    import java.io.*; import java.util.Arrays; public class WriteText { public static void main(String[] ...

  8. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

  9. java高级---->Java动态代理的原理

    Java动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类.代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程 ...

  10. CentOS安装JAVA后JAVA版本不对的问题

    今天用CentOS安装JDK,发觉在安装完成后,输入java命令来验证是否安装成功时,出现 Usage: gij [OPTION] ... CLASS [ARGS] ...          to i ...

随机推荐

  1. MVC控制器获取@Html.DropDownList值

    MVC控制器获取@Html.DropDownList值 发表于 2014 年 4 月 1 日 作者 efour — 暂无评论 先贴一段代码,演示@Html.DropDownList的使用. 前台 前台 ...

  2. jQuery的扩展与noConflict

    jQuery的扩展 noConflict

  3. C# 程序中的变量

    变量命名规则: 不能是c#关键字 由字母,数字,下划线构成 第一个不能是数字 不要超过31个字符 不能是函数名,类名 c#是大小写敏感的. 本质上,数据类型就是他存储方式和他参与运算的抽象. c#的数 ...

  4. AJAX-----06XMLHttpRequest对象的处理返回的XML类型数据

    我们首先要确保XML文件是否正常执行 如果访问时候报类似  Parse error: syntax error, unexpected 'version' (T_STRING  这样的错误,我们则需要 ...

  5. toStirng()与Object.prototype.toString.call()方法浅谈

    一.toString()是一个怎样的方法?它是能将某一个值转化为字符串的方法.然而它是如何将一个值从一种类型转化为字符串类型的呢? 通过下面几个例子,我们便能获得答案: 1.将boolean类型的值转 ...

  6. js !!条件判断或运算的作用

    今天看到一个判断语句非常奇怪: if(!!selected){} //为什么是双'!'号呢? 自己查了下资料终于明白了这其中的原理: 原来'!!'会将表达式转为Boolean类型的数据. 如果'!un ...

  7. crawler4j源码学习(2):Ziroom租房网房源信息采集爬虫

    crawler4j是用Java实现的开源网络爬虫.提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫.下面实例结合jsoup解析网页,javacsv存储采集数据:采集自如ziroom租房网(h ...

  8. CentOS7 运行级别

    linux运行的级别7个级别运行级别的查看使用 runlevelrunlevelN 3 //运行在3级别,可以理解成命令行级别级别之间的切换需要使用init x 0 //关机3 //多用户的命令行级别 ...

  9. Apache Solr 访问权限控制

    Current state of affairs SSL support was added in version 4.2 (SolrCloud v4.7). Protection of Zookee ...

  10. Core Data

    •   Core Data   是 iOS SDK   里的一个很强大的框架,允许程序员 以面向对象 的方式储存和管理数据 .使用 Core Data 框架,程序员可以很轻松有效 地通过面向对象的接口 ...