Java大数练习第二弹
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大数练习第二弹的更多相关文章
- Java高精度学习第二弹——求N!
继续学习Java高精度,今天写的是求N!. 首先附上源代码: import java.util.Scanner; import java.math.BigInteger; public class M ...
- java面试宝典第二弹
arraylist和linklist的区别,hashmap和hashset的区别,常用的集合有哪些 一.基础内容 容器就是一种装其他各种对象的器皿.java.util包 容器:Set, List, M ...
- Java基础-程序流程控制第二弹(循环结构)
Java基础-程序流程控制第二弹(循环结构) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制有三种基本结构:顺序结构,选择结构和循环结构.一个脚本就是顺序结构执行的,选择结 ...
- 20172325 2018-2019-1 《Java程序设计》第二周学习总结
20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...
- 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&记忆化递归
HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...
- 201521123038 《Java程序设计》 第二周学习总结
201521123038 <Java程序设计> 第二周学习总结 1.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 ...
- 20175314 《Java程序设计》第二周学习总结
20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...
- Java 大数、高精度模板
介绍: java中用于操作大数的类主要有两个,一个是BigInteger,代表大整数类用于对大整数进行操作,另一个是BigDecimal,代表高精度类,用于对比较大或精度比较高的浮点型数据进行操作.因 ...
- Java大数——快速矩阵幂
Java大数——快速矩阵幂 今天做了一道水题,尽管是水题,但是也没做出来.最后问了一下ChenJ大佬,才慢慢的改对,生无可恋了.... 题目描述: 给a,b,c三个数字,求a的b次幂对c取余. 数据范 ...
随机推荐
- 一个完整的网站记录(springmvc hibernate juery bootstrap)
总述 该网站为了满足测试人员自主添加测试条目,编辑更新信息和删除信息,同时同步到后台数据库的基本功能. 关键技术:oracle数据库.tomcat8.5.springMVC.Hibernate.aja ...
- magento category Ids Name
如何获取产品的分类的名称 和ids 1.对于产品的分类ids 的获取 $this->getProduct()->getCategoryIds() 2.对应产品的分类的Name 的 ...
- 【Linux】Tomcat安装及端口配置
安装环境 :Linux(CentOS 64位) 安装软件 : apache-tomcat-9.0.20.tar.gz(下载地址http://tomcat.apache.org/) 一:JDK安装配置 ...
- 扩增子分析QIIME2-3数据导出Exporting data
# 激活工作环境 source activate qiime2-2017.8 # 建立工作目录 mkdir -p qiime2-exporting-tutorial cd qiime2-exporti ...
- sort 及lambda表达式定制排序
void CDrawCircle::OnBnClickedBtnSelectinfo() { // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); BeginEditor ...
- JavaScipt30(第十个案例)(主要知识点:选中一个数组中间相连部分进行操作的一种思路)
承接上文,第九个案例就不说了,是控制台的一些东西,一般用的很少,了解下就行了,想用的时候再翻api.这是第10个案例: 需要实现的效果是:点击一个checkbox,然后按下shift点击另一个chec ...
- 使用lombok注解@Getter @Setter方法代码编译成功,但是没有生成get,set方法
现象描述: 在对应类对象中,添加lombok的@Getter或@Setter注解,编译没有问题,但是在使用类对象时,没有出现对应的get或set方法. 配置且编译ok,但是没有对应的get或set方法 ...
- Xcode5编译ffmpeg
命令行安装FFmpeg:git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg(或:到https://github.com/gabriel/ffmpeg ...
- Python学习-字符串的基本知识
字符串的基本知识 根据所展示形式的不同,字符串也可以分为两类 原始字符串: 使用单引号包括:‘liuwen’ 使用双引号包括:"liuwen" 使用3个单引号包括 :'''liuw ...
- django中配置允许跨域请求
对于django 安装django-cors-headers,详情请看官方文档 pip install django-cors-headers 配置settings.py文件 a.在INSTALLED ...