Java大数练习第二弹
2024-09-30 21:52:15
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(); }
}
}
最新文章
- R语言读取excel文件的3种方法
- 非阻塞同步算法与CAS(Compare and Swap)无锁算法
- [vim]vim 在win下乱码解决
- C# js asp.net 字符串MD5加密GetMD5Hash
- oracle 11g升级
- LintCode ";Binary Representation";
- 数据结构上机实验dfs&;&;bfs遍历图
- JS实现跳转到页面任何地方
- linux线程(一)基本应用
- bootbox.js [v4.2.0]设置确认框 按钮语言为中文
- HTML 基础元素
- c语言筛选质数
- 一些不熟悉的SQL脚本--约束条件
- 高可用系列之Nginx
- 微信公众号、H5、APP三者各有什么优势?
- java集合系列——java集合概述(一)
- 一次php涉及跨域功能的麻烦及解决方案
- intelj idea 创建聚合项目(典型web项目,包括子项目util、dao、service)
- C语言程序第二次作业
- rpc调用过程