hdu1250 水题 题目链接: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 找规律 题目链接: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(); } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-01 22:53:27