hdu1250 水题 题目链接:

pid=1250">http://acm.hdu.edu.cn/showproblem.php?pid=1250

import java.util.*;
import java.math.BigInteger;
public class Main{
public static void main(String[] args){
int a;
Scanner in=new Scanner(System.in);
while(in.hasNext()){
a=in.nextInt();
BigInteger[] num=new BigInteger[10000];
num[1]=BigInteger.ONE;
num[2]=BigInteger.ONE;
num[3]=BigInteger.ONE;
num[4]=BigInteger.ONE;
for(int i=5;i<=a;i++){ num[i]=(num[i-1]).add(num[i-2]).add(num[i-3]).add(num[i-4]); }
System.out.println(num[a]);
}
}
}

hdu1297 递推求解  题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1297


import java.util.*;
import java.math.BigInteger;
public class Main{
public static void main(String[] args){
Scanner in= new Scanner(System.in);
int a;
BigInteger[] b= new BigInteger[1010];
b[1]=BigInteger.ONE;
b[2]=BigInteger.valueOf(2);
b[3]=BigInteger.valueOf(4);
b[4]=BigInteger.valueOf(7);
while(in.hasNext()){
a=in.nextInt();
if(a<5)
System.out.println(b[a]);
else{
for(int i=5;i<=a;i++){
b[i]=b[i-1].add(b[i-2]).add(b[i-4]);
}
System.out.println(b[a]);
}
} }
}

hdu1715 水题 题目链接 http://acm.hdu.edu.cn/showproblem.php?

pid=1715

import java.util.*;
import java.math.BigInteger;
public class Main{
public static void main(String[] args){
Scanner in= new Scanner(System.in);
BigInteger[] b= new BigInteger[1010];
b[1]=BigInteger.valueOf(1);
b[2]=BigInteger.valueOf(1);
for(int i=3;i<=1000;i++){
b[i]=b[i-1].add(b[i-2]);
}
int n=in.nextInt();
while(n-->0){
int text=in.nextInt();
System.out.println(b[text]);
}
}
}

hdu1753 高精度小数求和  题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1753

import java.util.*;
import java.math.BigDecimal;
public class Main{
public static void main(String[] args){
Scanner in= new Scanner(System.in);
BigDecimal a,b;
while(in.hasNext()){
a=in.nextBigDecimal();
b=in.nextBigDecimal();
BigDecimal c=a.add(b);
String res = c.stripTrailingZeros().toPlainString(); //stripTrailingZeros()去除后面多余的零
//toPlainString(),取消科学计数法表示
 System.out.println(res);
}
}
}

hdu  1865 找规律 题目链接:

pid=1865">http://acm.hdu.edu.cn/showproblem.php?pid=1865

import java.util.*;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner in= new Scanner(System.in);
int a;
String test;
a=in.nextInt();
BigInteger[] num= new BigInteger[210];
num[1]=BigInteger.ONE;
num[2]=BigInteger.valueOf(2);
num[3]=BigInteger.valueOf(3);
while(a-->0){
test=in.next();
int n=test.length();
if(n<4)
System.out.println(num[n]);
else
{
for(int i=4;i<=n;i++){
num[i]=num[i-1].add(num[i-2]);
}
System.out.println(num[n]);
} }
}
}

hdu 2100  进制转换,。方法可能比較麻烦 只是也熟练了很多java的使用方法。

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2100

import java.util.*;
import java.math.*;
public class Main{
public static BigInteger mpow(int b){ //自己写的求幂函数
BigInteger ans=BigInteger.ONE;
for(int i=0;i<b;i++){
ans=ans.multiply(BigInteger.valueOf(26));
}
return ans;
}
public static String change(BigInteger num){
char[] line=new char[250];
int cnt=0;
while(num.compareTo(BigInteger.ZERO)!=0){
BigInteger a=num.mod(BigInteger.valueOf(26));
num=num.divide(BigInteger.valueOf(26));
line[cnt++]=(char)(a.intValue()+'A'); //将 BigInteger转换成int
}
return String.valueOf(line); //将字符数组转换成 String
}
public static void main(String[] args){
Scanner in= new Scanner(System.in);
while(in.hasNext()){
String a,b;
a=in.next();
b=in.next();
BigInteger an=BigInteger.ZERO;
//System.out.println(a);
//System.out.println((int)a.charAt(1));
for(int i=0;i<a.length();i++){
an=an.add(BigInteger.valueOf(a.charAt(i)-'A').multiply(mpow(a.length()-i-1)));//String 单个字符显示 用 str.charAt(i);
}
BigInteger bn=BigInteger.ZERO;
for(int i=0;i<b.length();i++){
bn=bn.add(BigInteger.valueOf(b.charAt(i)-'A').multiply(mpow(b.length()-i-1)));
}
BigInteger c=an.add(bn);
String fin=change(c);
for(int i=fin.length()-1;i>=0;i--){
if(fin.charAt(i)!='\0')
System.out.print(fin.charAt(i));
}
System.out.println(); }
}
}

Java大数练习第二弹的更多相关文章

  1. Java高精度学习第二弹——求N!

    继续学习Java高精度,今天写的是求N!. 首先附上源代码: import java.util.Scanner; import java.math.BigInteger; public class M ...

  2. java面试宝典第二弹

    arraylist和linklist的区别,hashmap和hashset的区别,常用的集合有哪些 一.基础内容 容器就是一种装其他各种对象的器皿.java.util包 容器:Set, List, M ...

  3. Java基础-程序流程控制第二弹(循环结构)

    Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...

  4. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  5. 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&amp;记忆化递归

    HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...

  6. 201521123038 《Java程序设计》 第二周学习总结

    201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...

  7. 20175314 《Java程序设计》第二周学习总结

    20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...

  8. Java 大数、高精度模板

    介绍: java中用于操作大数的类主要有两个,一个是BigInteger,代表大整数类用于对大整数进行操作,另一个是BigDecimal,代表高精度类,用于对比较大或精度比较高的浮点型数据进行操作.因 ...

  9. Java大数——快速矩阵幂

    Java大数——快速矩阵幂 今天做了一道水题,尽管是水题,但是也没做出来.最后问了一下ChenJ大佬,才慢慢的改对,生无可恋了.... 题目描述: 给a,b,c三个数字,求a的b次幂对c取余. 数据范 ...

随机推荐

  1. 百度AI车牌识别测试

    测试背景 百度已发布诸多AI应用,其中包含车牌识别,免费使用量是200次/日.付费的话,按月调用次数在20万次到50万次之间,每日10000次,月费用为0.0035*300000=1050元. 详见: ...

  2. Mysql导入导出大量数据的方法、备份恢复办法

    经常使用PHP+Mysql的朋友一般都是通过phpmyadmin来管理数据库的.日常的一些调试开发工作,使用phpmyadmin确实很方便.但是当我们需要导出几百兆甚至几个G的数据库时,phpmyad ...

  3. JMeter在linux上分布式压测步骤(二)

    哈喽,我又来了~ 前提:三台linux虚拟机,一台作为master,另外两台作为slave. 一.server端 1.修改1099端口,client和server通信的端口,可以不修改,默认就是109 ...

  4. java_线程创建的两种方法

    线程创建的方法有两种: 一 继承Thread类: public class ThreadTest { public static void main(String[] args) { //4)在mai ...

  5. 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"

    14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误" One of the configured ...

  6. 14mysql事务、数据库连接池、Tomcat

    14mysql事务.数据库连接池.Tomcat-2018/07/26 1.mysql事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功. MySQL手动控制事务 开启事 ...

  7. sscanf 与 sscanf_s

    sscanf 与 sscanf_s 之间的Details sscanf sscanf函数想必大家用的很熟练吧 sscanf函数原型: sscanf(const char* src,format,... ...

  8. UVA12118 Inspector's Dilemma(欧拉路径)

    题目: 某个国家有V(V≤1000)个城市,每两个城市之间都有一条双向道路直接相连,长度为T(每条边的长度都是T).你的任务是找一条最短的道路(起点和终点任意), 使得该道路经过E条指定的边.输出这条 ...

  9. java 十四周总结

  10. LearnPython笔记:ex48 代码

    赶紧写上 ,一定有人着急要看,啊哈哈哈哈,嘻嘻 哈哈 不枉我起了个大早 利用什么碎片时间啊,真正能深入学习的,是需要大段大段不被打断的时间 1. 完全实现了如下几种输入数据: 2. 遗留:最后一个el ...