阶乘 hdu1042
import java.math.BigInteger; import java.util.*; public class Main { public static void main(String str[]){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); BigInteger p=BigInteger.ONE; for(int i=1;i<=n;i++){ p=p.multiply(BigInteger.valueOf(i)); } System.out.println(p); } } }
hdu 1047
import java.math.BigInteger; import java.util.*; public class Main { public static void main(String str[]){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); while(n-->0){ BigInteger sum=BigInteger.ZERO; for(int i=0;;i++){ BigInteger a=sc.nextBigInteger(); if(!a.equals(BigInteger.valueOf(0))){ sum=sum.add(a); } else{ System.out.println(sum); if(n!=0) System.out.println(); break; } } // System.out.println(sum); } } }
hud 1063 高精度小数包括去除前导零和末尾零的方法
import java.util.*; import java.math.BigDecimal; public class Main { public static void main(String str[]){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ BigDecimal a=sc.nextBigDecimal(); int n=sc.nextInt(); BigDecimal as=a.pow(n); String s=as.stripTrailingZeros().toPlainString(); if(s.charAt(0)=='0'){ s=s.substring(1); } System.out.println(s); } } }
BigInteger POW用法
y.compareTo(BigInteger.TEN.pow(30))<=0