大数专题
发布时间:2020-12-14 02:02:24 所属栏目:大数据 来源:网络整理
导读:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1002 思路:求2个大数相加 AC代码: import java.io.*;import java.util.*;import java.math.BigInteger;public class Main {public static void main(String[] args) {// TODO Auto-generated method
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1002 思路:求2个大数相加 AC代码: import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int t = in.nextInt(); for(int i =1; i<=t; i++) { BigInteger a = in.nextBigInteger(); BigInteger b = in.nextBigInteger(); BigInteger c = a.add(b); System.out.println("Case " + i + ":"); System.out.println(a + " + " + b + " = " + c); if(i != t) System.out.println(""); } } }题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1042 思路:求一个数的阶乘 import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); while(in.hasNextInt()) { int n = in.nextInt(); BigInteger sum = BigInteger.ONE; //BigInteger sum1 = new BigInteger("1"); //这一种写法也可以 for(int i=2; i<=n; i++) { sum = sum.multiply(BigInteger.valueOf(i)); } System.out.println(sum); } } } 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1047 思路:求好几个大数的和 AC代码: import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); for(int i=1; i<=n; i++) { BigInteger sum = BigInteger.ZERO; while(true) { BigInteger b = in.nextBigInteger(); if(b.compareTo(BigInteger.ZERO) == 0) { break; } sum = sum.add(b); } System.out.println(sum); if(i < n) System.out.println(""); } } }题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1316 思路: 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1715 AC代码: import java.io.*; import java.util.*; import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); BigInteger a[] = new BigInteger[1010]; a[1] = BigInteger.ONE; a[2] = BigInteger.ONE; for(int i=3; i<=1000; i++) { a[i] = a[i-1].add(a[i-2]); } int t = in.nextInt(); for(int i=1; i<=t; i++) { int b = in.nextInt(); System.out.println(a[b]); } } } 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1063 AC代码: import java.util.*; import java.math.BigDecimal; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n,i; BigDecimal a,sum; BigDecimal one = new BigDecimal("1"); while(in.hasNextBigDecimal()) { a = in.nextBigDecimal(); n = in.nextInt(); sum = one; for(i=1; i<=n; i++) { sum = sum.multiply(a); } sum = sum.stripTrailingZeros();//返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal String str = sum.toPlainString();//返回不带指数字段的此 BigDecimal 的字符串表示形式 if(str.startsWith("0.")) str = str.substring(1);//从1位置截取子串,并返回 System.out.println(str); } } } 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1316 AC代码: import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int i,j; BigInteger a,b; BigInteger f[] = new BigInteger[501]; BigInteger zero = new BigInteger("0"); f[1]=new BigInteger("1"); f[2]=new BigInteger("2"); for(i=3;i<=500;i++) f[i]=f[i-1].add(f[i-2]); while(cin.hasNextBigInteger()){ a=cin.nextBigInteger(); b=cin.nextBigInteger(); if(a.compareTo(zero)==0 && b.compareTo(zero)==0)break; for(j=0,i=1;i<=500;i++){ if(a.compareTo(f[i])<=0 && b.compareTo(f[i])>=0)j++; if(b.compareTo(f[i])<0)break; } System.out.println(j); } } } 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1753 AC代码: import java.math.BigDecimal; import java.util.*; public class Main { public static void main(String[] args) { BigDecimal a,b,c; Scanner cin = new Scanner(System.in); while(cin.hasNext()) { a = cin.nextBigDecimal(); b = cin.nextBigDecimal(); c = a.add(b); if(c.compareTo(BigDecimal.ZERO) == 0) System.out.println("0"); else System.out.println(c.stripTrailingZeros().toPlainString()); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |