java大数专题
来源:互联网 发布:unity3d圣典中文手册 编辑:程序博客网 时间:2024/06/09 14:39
HDU 1002 大数加减
import java.util.*;import java.math.*;import java.io.*;public class Main {public static void main(String args[]){Scanner cin = new Scanner(System.in);int t=cin.nextInt();for(int i=1;i<=t;i++){BigInteger a=cin.nextBigInteger();BigInteger b=cin.nextBigInteger();BigInteger c=a.add(b);System.out.println("Case "+i+":");System.out.println(a+" + "+b+" = "+c);if(i!=t) System.out.println("");}}}
HDU 1042 大数相乘
import java.util.*;import java.math.*;import java.io.*;public class Main {public static void main(String args[]){Scanner cin = new Scanner(System.in);BigInteger n,i,sum;while(cin.hasNextBigInteger()){n=cin.nextBigInteger();sum=BigInteger.ONE;i=BigInteger.valueOf(2);while(i.compareTo(n)<=0){sum=sum.multiply(i);i=i.add(BigInteger.ONE);}System.out.println(sum);}}}
HDU 1047 大数相乘
import java.util.*;import java.math.*;import java.io.*;public class Main {public static void main(String args[]){Scanner cin = new Scanner(System.in);while(cin.hasNextBigInteger()){int t=cin.nextInt();while(t-->0){boolean flag=true;BigInteger sum=BigInteger.ZERO;while(flag){BigInteger a=cin.nextBigInteger();if(a.compareTo(BigInteger.ZERO)==0) flag=false;else sum=sum.add(a);}System.out.println(sum);if(t!=0) System.out.println("");}}}}
HDU 1063 大数幂与大数转换成字符串的处理
import java.util.*;import java.math.*;import java.io.*;public class Main {public static void main(String args[]){Scanner cin = new Scanner(System.in);while(cin.hasNextBigDecimal()){BigDecimal p=cin.nextBigDecimal();int n=cin.nextInt();p=p.pow(n);p=p.stripTrailingZeros(); //去掉后倒0String s=p.toPlainString(); //不让其变成科学计数法的表示法,变成一般的小数表示if(s.startsWith("0.")) s=s.substring(1); //与前导的字符串比较System.out.println(s);}}}
HDU 1753 与上一题一样,去掉后导0,然后如果小于1,把前导0也去掉。
import java.util.*;import java.math.*;import java.io.*;public class Main {public static void main(String args[]){Scanner cin = new Scanner(System.in);BigDecimal a,b;while(cin.hasNextBigDecimal()){a=cin.nextBigDecimal();b=cin.nextBigDecimal();a=a.add(b);a=a.stripTrailingZeros();String str=a.toPlainString();if(str.startsWith("0.")) str=str.substring(1);System.out.println(str);}}}
HDU 1316 大数递推+函数判断
import java.util.*;import java.math.*;import java.io.*;public class Main {public static BigInteger []f=new BigInteger[610];public static int index(BigInteger c,int flag){if(flag==1){for(int i=1;i<600;i++)if(f[i].compareTo(c)>=0) return i;}else {for(int i=1;i<600;i++)if(f[i].compareTo(c)>0) return i;}return 0;}public static void main(String args[]){Scanner cin = new Scanner(System.in);BigInteger a,b;f[1]=BigInteger.ONE;f[2]=BigInteger.valueOf(2);for(int i=3;i<601;i++)f[i]=f[i-2].add(f[i-1]);while(cin.hasNextBigInteger()){a=cin.nextBigInteger();b=cin.nextBigInteger();if(a.equals(b)&&a.equals(BigInteger.ZERO)) break;int i=index(a,1);int j=index(b,0);System.out.println(j-i);}}}
HDU 1715 比上一题容易
import java.util.*;import java.math.*;import java.io.*;public class Main {public static BigInteger []f=new BigInteger[1010];public static void main(String args[]){Scanner cin = new Scanner(System.in);BigInteger a,b;f[1]=BigInteger.ONE;f[2]=BigInteger.ONE;for(int i=3;i<1001;i++)f[i]=f[i-2].add(f[i-1]);int n=cin.nextInt();while(n-->0){int p=cin.nextInt();System.out.println(f[p]);}}}
HDU 1250 java大数相加递推
import java.util.*;import java.math.*;import java.io.*;public class Main {private static BigInteger []f=new BigInteger[10005];public static void main(String args[]){Scanner cin = new Scanner(System.in);for(int i=1;i<5;i++)f[i]=BigInteger.ONE;for(int i=5;i<1000;i++)f[i]=f[i-4].add(f[i-3].add(f[i-2].add(f[i-1])));while(cin.hasNextInt()){int i=cin.nextInt();System.out.println(f[i]);}}}
HDU 1297 大数相加与找规律
import java.util.*;import java.math.*;import java.io.*;public class Main {private static BigInteger []f=new BigInteger[1005];public static void main(String args[]){Scanner cin = new Scanner(System.in);f[1]=BigInteger.ONE;f[2]=BigInteger.valueOf(2);f[3]=BigInteger.valueOf(4);f[4]=BigInteger.valueOf(7);for(int i=5;i<1005;i++)f[i]=f[i-4].add(f[i-2].add(f[i-1]));while(cin.hasNextInt()){int i=cin.nextInt();System.out.println(f[i]);}}}
HDU 4919 多校第五场 大数+记忆化递归
import java.util.*;import java.math.*;import java.io.*;public class Main {private static BigInteger one=BigInteger.ONE;private static BigInteger two=BigInteger.valueOf(2);private static BigInteger three=BigInteger.valueOf(3);private static BigInteger four=BigInteger.valueOf(4);private static BigInteger six=BigInteger.valueOf(6);private static HashMap<BigInteger,BigInteger> map=new HashMap<BigInteger,BigInteger>();public static BigInteger dfs(BigInteger n){if(n.equals(two)) return BigInteger.ZERO;if(n.equals(three)) return six;if(n.equals(four)) return four;if(map.containsKey(n)) return map.get(n);BigInteger ans,k=n.divide(two);if(n.mod(two).equals(one))ans=four.multiply(dfs(k)).add(six.multiply(k));else ans=two.multiply(dfs(k)).add(two.multiply(dfs(k.subtract(one)))).add(four.multiply(k)).subtract(four);map.put(n,ans);return ans;}public static void main(String args[]){Scanner cin = new Scanner(System.in);while(cin.hasNextBigInteger()){BigInteger n=cin.nextBigInteger();System.out.println(dfs(n));}}}
0 0
- java大数专题
- 大数专题
- (专题)用Java 轻松AC掉HDOJ大数题
- 大数专题A
- python 大数 && Java 大数
- java大数
- java大数
- Java大数
- Java 大数
- java大数
- java 大数
- java大数
- java大数
- java大数
- JAVA 大数
- java 大数
- java 大数
- java 大数
- linux-du命令
- NGUI 3.58 自适应
- DB----日期函数,系统函数,字符串函数,sql中的保留字
- Vector3.Angle
- leetcode atoi
- java大数专题
- consistent hashing & Distributed Hash Table 的资料
- 【linux小菜鸟】linux启动流程
- vim 代码提示功能,让vim可以媲美IDE(转)
- IOS Block 教程
- java常见正则表达式
- datable第一列放在前面
- haishi na daomei de shurufa
- ios动画push