JAVA大数类
JAVA大数类api
http://man.ddvip.com/program/java_api_zh/java/math/BigInteger.html#method_summary
不仅仅只能查JAVA大数类的API。总结的东西都可以查询。
大数类基本语法
详细见这:http://www.babytree.com/user/showuser.php?uid=u60610804477&tab=journal&journalid=6811716&view=single
HDU4762:cut the cake
长春赛的题目。 感觉比较坑。 可以直接YY一下。
考虑最左边的一个草莓,因为总会有一个最左边的。 自己考虑两边~~~~~~~~~~~~~~考虑面积感觉做不了的样子。
s*(1/f)^(s-1)
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int T = input.nextInt(); while(T != 0) { T--; int f = input.nextInt(); int s = input.nextInt(); BigInteger s1 = BigInteger.valueOf(s); BigInteger f1 = BigInteger.valueOf(f); BigInteger gcd = f1.pow(s-1).gcd(s1); BigInteger a = s1.divide(gcd); BigInteger b = f1.pow(s-1).divide(gcd); //幂函数pow(int a) a不能为BigInteger类型 System.out.println(a+"/"+b); } } }
PKU高精度计算题目
1131、1205、1220、1405、1503、1604 1894、2084、2305、2325、2389、2413 3101、3199
某些高精度水题。
http://acm.nyist.net/JudgeOnline/problem.php?pid=155
import java.util.*; import java.math.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); double r; while(input.hasNext()) { r = input.nextDouble(); int n = input.nextInt(); BigDecimal r1 = BigDecimal.valueOf(r); BigDecimal n1 = BigDecimal.valueOf(n); BigDecimal ans1 = r1.pow(n); String ans = ans1.stripTrailingZeros().toPlainString(); if(ans.startsWith("0")) //去掉前导0 { ans = ans.substring(1); } System.out.println(ans); } } }