Java大数求解ACM(HDU)
来源:互联网 发布:数据恢复精灵4.0破解版 编辑:程序博客网 时间:2024/05/29 21:28
利用Java大数的ACM题:HDU 1715 1002 1042 1753 1865 1063,代码Accepted。
代码比较简单,题目详细描述见官网 http://acm.hdu.edu.cn/listproblem.php?vol=1
//1715 求斐波那契数列import java.math.*;import java.util.*;public class Main{ public static void main(String args[]){ BigDecimal a[] = new BigDecimal[1005]; Scanner cin = new Scanner(System.in); while(cin.hasNext()){//等价于!=EOF a[1] = a[2] = new BigDecimal("1"); for (int i =3; i< 1005; i++){ a[i] = a[i-1].add(a[i-2]); } int N = cin.nextInt(); for (int j = 0; j< N;j++){ int pi = cin.nextInt(); System.out.println(a[pi]); } } } //1753 求A+Bimport java.math.*;import java.util.*;public class Main{ public static void main(String args[]){ BigDecimal c = new BigDecimal("0"); Scanner cin = new Scanner(System.in); while(cin.hasNext()){//等价于!=EOF BigDecimal a = cin.nextBigDecimal(); BigDecimal b = cin.nextBigDecimal(); c = a.add(b); System.out.println(c.stripTrailingZeros().toPlainString()); } } }//1002 求 A+B(注意格式)import java.math.*;import java.util.*;public class Main{ public static void main(String args[]){ BigInteger c = new BigInteger("0"); Scanner cin = new Scanner(System.in); int N = cin.nextInt(); //while(cin.hasNext()){//等价于!=EOF for (int i = 1;i<=N;i++){ BigInteger a = cin.nextBigInteger(); BigInteger b = cin.nextBigInteger(); c = a.add(b); System.out.println("Case "+i + ":"); System.out.println(a + " + " + b + " = " + c); if( i != N) System.out.println();//注意:最后一个样例后不输出空行 } } // } }//1042 求阶乘import java.math.*;import java.util.*;public class Main{ public static void main(String args[]){ Scanner cin = new Scanner(System.in); while (cin.hasNext()){ // 计算阶乘 BigInteger c = new BigInteger("1"); int n = cin.nextInt(); for(int i = 1;i <= n; i++){ BigInteger s = BigInteger.valueOf(i); c = c.multiply(s); } System.out.println(c); } }}//1685 求111的组合个数:类似于一个有n级的楼梯,一次可以上一个台阶,也可以上两个台阶,问一共有多少种方法。import java.math.*;import java.util.*;public class Main{ public static void main(String args[]){ BigInteger arr[] = new BigInteger[205]; Scanner cin = new Scanner(System.in); arr[1] = BigInteger.valueOf(1); arr[2] = BigInteger.valueOf(2); for (int j = 3; j<205; j++){ arr[j] = arr[j-1].add(arr[j-2]); } int N = cin.nextInt(); for (int i = 0;i<N; i++){ BigInteger a = cin.nextBigInteger(); int k = a.toString().length(); System.out.println(arr[k]); } }}//1063 求R的n次方,注意输出格式的要求import java.math.*;import java.util.*;public class Main{ public static void main(String args[]){ Scanner cin = new Scanner(System.in); while (cin.hasNext()){ // 计算n方 BigDecimal r = cin.nextBigDecimal(); int n = cin.nextInt(); BigDecimal rn = new BigDecimal("1.0"); rn = r.pow(n).stripTrailingZeros();//去掉字符串最后面的0以及来消除BigDecimal用科学计数形式来表示结果 String tmp = rn.toPlainString(); //去掉前导0 if(tmp.startsWith("0")) tmp=tmp.substring(1); System.out.println(tmp); } }}
0 0
- Java大数求解ACM(HDU)
- JAVA求解大数
- ACM JAVA大数
- 【java 大数】hdu java 大数
- java对ACM大数处理
- 两个大数求和,一个ACM水题的C#求解
- ACM~大数加法&&hdu题目样例
- HDU ACM 1047 Integer Inquiry->大数相加
- hdu 4873 Java大数
- hdu 4919 java大数
- hdu 4927 java大数
- HDU-5050 java大数
- HDU-1042(java 大数)
- hdu 2045 java 大数
- java ACM 大数相加使用的bigInteger
- 杭电ACM大数JAVA提交实例
- java在acm中大数运算教程
- 杭电ACM大数JAVA提交实例
- Python笔记之入门(高级篇)
- hdu 1710恢复二叉树
- LeetCode Sort List
- 两年软件开发工作总结及未来展望
- Box2d源码学习<九>形状(中):边缘形状和链形状的实现
- Java大数求解ACM(HDU)
- 【MyBatis框架点滴】——mybatis插入数据返回主键(mysql、oracle)
- 给 Android 开发者的 RxJava 详解
- ZOJ 1610 Count the Colors(线段树,成段更新染色)
- 咨诹
- [线段树套平衡树] BZOJ 2883 gss2加强版
- Python数据处理相关小例编程
- Box2d源码学习<十>形状(下):圆形和多边形的实现
- OSG学习笔记11 物体控制—对点选物体进行平移、缩放、旋转