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. 动态排序JavaBean

    Java中如果对对象排序可以考虑实现Comparable接口,但是需要排序的属性一旦指定就不能再修改.BeanUtils组件提供了对JavaBean动态排序的支持,即可以在运行时指定排序的属性.实例运 ...

  2. Expectation-Maximization(EM) 算法

    Expectation-Maximization 算法是统计学中用来给带隐含变量的模型做最大似然(和最大后验概率)的一种方法.EM 的应用特别广泛,经典的比如做概率密度估计用的 Gaussian Mi ...

  3. Shell script之How to write

    Write shell script: 1) Editor like vi or mcedi 2) Set execute permission for your script chmod  perm ...

  4. .ai域名注册已经极具投资价值进入火爆期

    最近G.ai以六位数的天价被国内域名收藏家收入囊中,间接说明了.ai域名的价值不断攀升,自从2016年AlphaGo胜利以来,人工智能几乎成为人人谈资,而由于.com域名被挖掘待尽,一些聪明的人工智能 ...

  5. Flask框架 之request对象

    一.request对象属性 属性 说明 类型 data 记录请求的数据,并转换为字符串 * form 记录请求中的表单数据 MultiDict args 记录请求中的查询参数 MultiDict co ...

  6. 获取最新ADT下载地址的方法

    最近网络不给力,谷歌上不去,想下个最新的ADT插件也难,于是寻找方法,最后找到一个不错的方法,问题解决过程如下(别嫌我啰嗦啊). 网上有人分享过下载ADT插件的页面地址:install-adt.htm ...

  7. linux 系统 UDP 丢包问题分析思路

    转自:http://cizixs.com/2018/01/13/linux-udp-packet-drop-debug?hmsr=toutiao.io&utm_medium=toutiao.i ...

  8. C++ 实现Golang里的defer

    不多说了,直接贴代码.就一个hpp文件. 1 #include <functional> 2 3 #define CONCAT_(a, b) a##b 4 #define CONCAT(a ...

  9. 关于Linux字符集的查看及修改

    一·查看字符集   字符集在系统中体现形式是一个环境变量,其查看当前终端使用字符集的方式可以有以下几种方式:   1.[root@ ~]# echo $LANG       en_US.UTF-8   ...

  10. codeforces 372 Complete the Word(双指针)

    codeforces 372 Complete the Word(双指针) 题链 题意:给出一个字符串,其中'?'代表这个字符是可变的,要求一个连续的26位长的串,其中每个字母都只出现一次 #incl ...