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

hdu 1023 Train Problem II

求 卡特兰 数

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

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

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.BigInteger;
 4
 5 public class test{
 6     public static void main(String args[]){
 7         BigInteger[] a = new BigInteger[101];
 8         a[0] = BigInteger.ZERO;
 9         a[1] = BigInteger.ONE;
10         for(int i = 2;i <= 100;i++){
11             BigInteger l = BigInteger.valueOf(4*i-2);
12             BigInteger r = BigInteger.valueOf(i+1);
13             a[i] = a[i-1].multiply(l);
14             a[i] = a[i].divide(r);
15         }
16         Scanner in = new Scanner(System.in);
17         int n;
18         while(in.hasNext()){
19             n = in.nextInt();
20             System.out.println(a[n]);
21         }
22     }
23
24 }

View Code

hdu 1063 Exponentiation

求小数 a 的 b 次方

stripTrailingZeros:去掉末尾0

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

startWith:去掉首位0

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

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.BigDecimal;
 4 import java.math.BigInteger;
 5
 6 public class test{
 7     public static void main(String args[]){
 8         Scanner in = new Scanner(System.in);
 9         while(in.hasNext()){
10             BigDecimal a = in.nextBigDecimal();
11             int b = in.nextInt();
12             String ans = a.pow(b).stripTrailingZeros().toPlainString();
13             if(ans.startsWith("0")){
14                 ans = ans.substring(1);
15             }
16             System.out.println(ans);
17         }
18     }
19
20 }

View Code

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

hdu 1047 Integer Inquiry

大数相加

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.BigDecimal;
 4 import java.math.BigInteger;
 5
 6 public class Main{
 7     public static void main(String args[]){
 8         Scanner in = new Scanner(System.in);
 9         int n = in.nextInt();
10         while(n-- > 0){
11             BigInteger ans = BigInteger.ZERO;
12             while(in.hasNext()){
13                 BigInteger tmp = BigInteger.ZERO;
14                 tmp = in.nextBigInteger();
15                 BigInteger zero = BigInteger.valueOf(0);
16                 if(!tmp.equals(zero)){
17                     ans = ans.add(tmp);
18                 }
19                 else{
20                     System.out.println(ans);
21                     if(n != 0) System.out.println("");
22                     break;
23                 }
24             }
25        }
26    }
27 }

View Code

hdu 1316 How Many Fibs?

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

用到 一个 compareto

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.BigDecimal;
 4 import java.math.BigInteger;
 5
 6 public class Main{
 7     public static void main(String args[]){
 8         Scanner in = new Scanner(System.in);
 9         BigInteger f[] = new BigInteger[505];
10         BigInteger zero = BigInteger.ZERO;
11         f[1] = new BigInteger("1");
12         f[2] = new BigInteger("2");
13         for(int i = 3;i <= 500;i++) f[i] = f[i-1].add(f[i-2]);
14
15         while(in.hasNext()){
16             BigInteger l = in.nextBigInteger();
17             BigInteger r = in.nextBigInteger();
18             if(l.compareTo(zero) == 0 && r.compareTo(zero) == 0) break;
19             int ans = 0;
20             for(int i = 1;i <= 500;i++){
21                 if(l.compareTo(f[i]) <= 0 && r.compareTo(f[i]) >= 0) ans++;
22             }
23             System.out.println(ans);
24         }
25    }
26 }

View Code

hdu 1753 大明A+B

大实数相加

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.BigDecimal;
 4 public class Main {
 5     public static void main(String[] args)
 6     {
 7         Scanner in=new Scanner(System.in);
 8         while (in.hasNext())
 9         {
10             BigDecimal a=in.nextBigDecimal();
11             BigDecimal b=in.nextBigDecimal();
12             a=a.add(b);
13             String s=a.stripTrailingZeros().toPlainString();
14          //   if (s.startsWith("0."))
15            //     s=s.substring(1);
16             System.out.println(s);
17         }
18     }
19 }

View Code

hdu 1261 字串数

大数阶乘,除法

 1 import java.io.*;
 2 import java.util.*;
 3 import java.math.BigDecimal;
 4 import java.math.BigInteger;
 5
 6 public class Main{
 7     public static void main(String args[]){
 8         Scanner in = new Scanner(System.in);
 9         int[] a = new int[55];
10         BigInteger[] f = new BigInteger[300];
11         f[0] = BigInteger.ONE;
12         for(int i = 1;i < 300;i++) {
13             BigInteger tmp = BigInteger.valueOf(i);
14             f[i] = f[i-1].multiply(tmp);
15         }
16         int n;
17         while(in.hasNext()){
18             n = in.nextInt();
19             if(n == 0) break;
20             int x;
21             BigInteger fz ,fm;
22             fm = BigInteger.ONE;
23             int fzz = 0,fmm = 0;
24             for(int i = 1;i <= n;i++){
25                 a[i] = in.nextInt();
26                 fzz = fzz + a[i];
27                 fm = fm.multiply(f[a[i]]);
28             }
29             fz = f[fzz];
30             //System.out.println(fz);
31             //System.out.println(fm);
32             BigInteger ans = fz.divide(fm);
33             System.out.println(ans);
34         }
35    }
36 }

View Code

java 板

  1 //卡特兰数
  2 import java.io.*;
  3 import java.util.*;
  4 import java.math.BigInteger;
  5
  6 public class test{
  7     public static void main(String args[]){
  8         BigInteger[] a = new BigInteger[101];
  9         a[0] = BigInteger.ZERO;
 10         a[1] = BigInteger.ONE;
 11         for(int i = 2;i <= 100;i++){
 12             BigInteger l = BigInteger.valueOf(4*i-2);
 13             BigInteger r = BigInteger.valueOf(i+1);
 14             a[i] = a[i-1].multiply(l);
 15             a[i] = a[i].divide(r);
 16         }
 17         Scanner in = new Scanner(System.in);
 18         int n;
 19         while(in.hasNext()){
 20             n = in.nextInt();
 21             System.out.println(a[n]);
 22         }
 23     }
 24
 25 }
 26
 27 /*求小数 a 的 b 次方
 28 stripTrailingZeros:去掉末尾0
 29 toPlainStrin:将科学计数法表示正常写法
 30 startWith:去掉首位0
 31 subtring(x) :截取从 第 x 位往后的字符串*/
 32
 33 import java.io.*;
 34 import java.util.*;
 35 import java.math.BigDecimal;
 36 import java.math.BigInteger;
 37
 38 public class test{
 39     public static void main(String args[]){
 40         Scanner in = new Scanner(System.in);
 41         while(in.hasNext()){
 42             BigDecimal a = in.nextBigDecimal();
 43             int b = in.nextInt();
 44             String ans = a.pow(b).stripTrailingZeros().toPlainString();
 45             if(ans.startsWith("0")){
 46                 ans = ans.substring(1);
 47             }
 48             System.out.println(ans);
 49         }
 50     }
 51
 52 }
 53
 54 //大数相加
 55 import java.io.*;
 56 import java.util.*;
 57 import java.math.BigDecimal;
 58 import java.math.BigInteger;
 59
 60 public class Main{
 61     public static void main(String args[]){
 62         Scanner in = new Scanner(System.in);
 63         int n = in.nextInt();
 64         while(n-- > 0){
 65             BigInteger ans = BigInteger.ZERO;
 66             while(in.hasNext()){
 67                 BigInteger tmp = BigInteger.ZERO;
 68                 tmp = in.nextBigInteger();
 69                 BigInteger zero = BigInteger.valueOf(0);
 70                 if(!tmp.equals(zero)){
 71                     ans = ans.add(tmp);
 72                 }
 73                 else{
 74                     System.out.println(ans);
 75                     if(n != 0) System.out.println("");
 76                     break;
 77                 }
 78             }
 79        }
 80    }
 81 }
 82
 83 //大实数相加
 84 import java.io.*;
 85 import java.util.*;
 86 import java.math.BigDecimal;
 87 public class Main {
 88     public static void main(String[] args)
 89     {
 90         Scanner in=new Scanner(System.in);
 91         while (in.hasNext())
 92         {
 93             BigDecimal a=in.nextBigDecimal();
 94             BigDecimal b=in.nextBigDecimal();
 95             a=a.add(b);
 96             String s=a.stripTrailingZeros().toPlainString();
 97          //   if (s.startsWith("0."))
 98            //     s=s.substring(1);
 99             System.out.println(s);
100         }
101     }
102 }
103
104 //大数阶乘,除法
105 import java.io.*;
106 import java.util.*;
107 import java.math.BigDecimal;
108 import java.math.BigInteger;
109
110 public class Main{
111     public static void main(String args[]){
112         Scanner in = new Scanner(System.in);
113         int[] a = new int[55];
114         BigInteger[] f = new BigInteger[300];
115         f[0] = BigInteger.ONE;
116         for(int i = 1;i < 300;i++) {
117             BigInteger tmp = BigInteger.valueOf(i);
118             f[i] = f[i-1].multiply(tmp);
119         }
120         int n;
121         while(in.hasNext()){
122             n = in.nextInt();
123             if(n == 0) break;
124             int x;
125             BigInteger fz ,fm;
126             fm = BigInteger.ONE;
127             int fzz = 0,fmm = 0;
128             for(int i = 1;i <= n;i++){
129                 a[i] = in.nextInt();
130                 fzz = fzz + a[i];
131                 fm = fm.multiply(f[a[i]]);
132             }
133             fz = f[fzz];
134             //System.out.println(fz);
135             //System.out.println(fm);
136             BigInteger ans = fz.divide(fm);
137             System.out.println(ans);
138         }
139    }
140 }
141
142 /*主类名字必须是Main
143 读一个整数:    int n = cin.nextInt();
144 读一个字符串:String s = cin.next();
145 读一个浮点数:double t = cin.nextDouble();
146 读一整行:      String s = cin.nextLine();
147 判断是否有下一个输入可以用 cin.hasNext() 或 cin.hasNextInt() 或 cin.hasNextDouble() 等
148
149 输出浮点数保留位数
150 DecimalFormat f = new DecimalFormat("#.00#");
151 DecimalFormat g = new DecimalFormat("0.000");
152 double a = 123.45678, b = 0.12;
153 System.out.println(f.format(a));
154 System.out.println(f.format(b));
155 System.out.println(g.format(b));
156
157 大数的运算
158 BigInteger add(BigInteger other)
159 BigInteger subtract(BigInteger other)
160 BigInteger multiply(BigInteger other)
161 BigInteger divide(BigInteger other)
162 BigInteger mod(BigInteger other)
163 int compareTo(BigInteger other)
164 static BigInteger valueOf(long x)
165
166 输出直接用  System.out.println(a)*/
167
168 StringBuffer
169 import java.io.*;
170 import java.util.*;
171 import java.text.*;
172 import java.math.BigDecimal;
173 import java.math.BigInteger;
174
175 public class test{
176     public static void main(String args[]){
177         //赋值
178         StringBuffer a = new StringBuffer();//初始化
179         StringBuffer b = new StringBuffer("abc");
180         String c = "abc";
181         StringBuffer d = new StringBuffer(c);
182
183         //在末尾加
184         StringBuffer e = new StringBuffer("abc");
185         e.append(true);
186
187         //删除指定index 位置的字符
188         StringBuffer f = new StringBuffer("abc");
189         f.deleteCharAt(1);
190
191         //删除指定区间的字符
192         StringBuffer g = new StringBuffer("abcdefghjjkl");
193         g.delete(1,4);
194
195         //在index 位置插入字符串或者字符
196         StringBuffer h = new StringBuffer("huhhhuhuhuhhh");
197         String tmp = "njjjjjjj";
198         char ch = 'c';
199         h.insert(4,ch);
200         h.insert(4,tmp);
201
202         //字符串反转
203         StringBuffer j = new StringBuffer("12345");
204         j.reverse();
205
206         //替换字符串
207         StringBuffer i = new StringBuffer("122222");
208         i.replace(0, 3, "ab");//左闭右开
209
210         //子串
211         StringBuffer kk = new StringBuffer("1234567");
212         String kk1 = kk.substring(2);//返回下标开始以后的字符串
213         String kk2 = kk.substring(2,4);//l 到 r-1的字符串
214         System.out.println(kk1);
215         System.out.println(kk2);
216    }
217 }

View Code

转载于:https://www.cnblogs.com/wuyuewoniu/p/5922196.html

Java Java Java相关推荐

  1. java unlimited_具有无限参数的Java方法(Java method with unlimited arguments)

    具有无限参数的Java方法(Java method with unlimited arguments) Spring框架使用方法,您可以根据需要传递尽可能多的参数. 我想写一个函数,也可以采取无限量的 ...

  2. 介绍java -cp java -jar的区别

    java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号";" java -cp &am ...

  3. 【Java】Java连接Mysql数据库的demo示例

    [Java]Java连接Mysql数据库的demo示例 1.安装mysql数据库 2.下载java-mysql-connector.jar包 3.完成java配置 4.写java代码运行测试 1.安装 ...

  4. java抓取网页标题内容_[Java教程]java 网页页面抓取标题和正文

    [Java教程]java 网页页面抓取标题和正文 0 2014-07-10 09:01:30 import java.io.BufferedReader;import java.io.IOExcept ...

  5. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnblogs.com/yinzhengjie/p/9 ...

  6. Java 异常java.lang.IllegalArgumentException: Illegal group reference

    Java 异常java.lang.IllegalArgumentException: Illegal group reference 参考文章: (1)Java 异常java.lang.Illegal ...

  7. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  8. 4.6 W 字总结!Java 11—Java 17特性详解

    作者 | 民工哥技术之路 来源 | https://mp.weixin.qq.com/s/SVleHYFQeePNT7q67UoL4Q Java 11 特性详解 基于嵌套的访问控制 与 Java 语言 ...

  9. 做了6年的Java,java视频教程传智播客

    JAVA基础 JAVA异常分类及处理 异常分类 异常的处理方式 Throw和throws的区别 JAVA反射 动态语言 反射机制概念 (运行状态中知道类所有的属性和方法) Java反射API 反射使用 ...

  10. java demo在哪里下载_[Java教程]Java学习 (一)、下载,配置环境变量,第一个demo...

    [Java教程]Java学习 (一).下载,配置环境变量,第一个demo 0 2016-03-01 22:00:18 一.在 http://www.oracle.com 下载java JDK 安装到自 ...

最新文章

  1. Week02-Java基本语法与类库
  2. 关于SpringMVC和Struts2的区别
  3. zkcli远程连接_ZooKeeper 学习笔记(二)-API 操作和应用
  4. DbHelper数据库通用类使用方法
  5. vice versa VS the other way around
  6. ASP.NET前台html页面AJAX提交数据后台ashx页面接收数据
  7. 微信开发——带参数二维码的使用
  8. python中∧_python中xor是什么意思
  9. 梦断代码读后感(二)
  10. 试卷生成系统安装与卸载
  11. FIR滤波器和IIR滤波器
  12. Symantec的SEP服务器(SEPM)从12.1 RU6MP5 升级到14 MP1 操作手册
  13. 辞职信微信html,女教师辞职信走红微信背后:“走心”
  14. Windows10快捷键合集
  15. Ardupilot 绕圈模式分析
  16. Java_[倒置字符串]将一句话的单词进行倒置,标点不倒置。
  17. 什么能吃,什么不能吃
  18. 网易视频云: 网易平台级视频服务存储技术
  19. Qt项目中,绘制只有两个圆角的矩形及QPainterPath类的应用
  20. python关于二手房的课程论文_python二手房项目分析

热门文章

  1. python I/O 对象
  2. mysql sql sysdate_MySQL与Oracle SQL语言差异比较一览
  3. Windows server WSUS补丁服务器搭建(转)
  4. Kubernetes学习总结(5)——Kubernetes 常见面试题汇总
  5. 为什么要重构,何时进行重构
  6. 源码解读_入口开始解读Vue源码系列(二)——new Vue 的故事
  7. node.js发送html,利用Node.JS实现邮件发送功能
  8. java中的step_Java中finalize()
  9. Python入门之PyCharm中目录directory与包package的区别
  10. 企业分布式微服务云SpringCloud SpringBoot mybatis (二)服务消费者(rest+ribbon)