今天要多刷java大数,争取以后轻松水掉大数题~
hdu 1002 大数相加 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002
【代码】
import java.util.*; import java.math.BigInteger; public class Main{ public static void main(String[] args){ Scanner in=new Scanner(System.in); int n=in.nextInt(); for(int i=1;i<=n;i++){ BigInteger a,b,c; a=in.nextBigInteger(); b=in.nextBigInteger(); c=a.add(b); if(i!=1) System.out.println(); System.out.println("Case "+i+":"); System.out.println(a+" + "+b+" = "+c); } } }
hdu 1042 大数的阶乘 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1042
【代码】
import java.util.*; import java.math.BigInteger; public class Main{ public static void main(String[] args){ Scanner in=new Scanner(System.in); int a; while(in.hasNext()){ a=in.nextInt(); BigInteger ans=BigInteger.ONE; for(int i=1;i<=a;i++){ ans=ans.multiply(BigInteger.valueOf(i)); } System.out.println(ans); } } }
hdu 1133 卡兰特数的运用 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1133
【代码】
mport java.util.*; import java.math.BigInteger; public class Main{ public static void main(String[] args){ int a,b; Scanner in=new Scanner(System.in); int cnt=0; while(in.hasNext()){ cnt++; a=in.nextInt(); b=in.nextInt(); BigInteger ans=BigInteger.ONE; if(a==0&&b==0)break; if(a<b) ans=BigInteger.ZERO; else { for(int i=1;i<=a+b;i++){ ans=ans.multiply(BigInteger.valueOf(i)); } int mpl=(a-b+1); int dvd=(a+1); ans=ans.multiply(BigInteger.valueOf(mpl)); ans=ans.divide(BigInteger.valueOf(dvd)); } System.out.println("Test #"+cnt+":"); System.out.println(ans); } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-11 19:22:31