JAVA大数类

时间:2023-03-08 22:17:32

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);
}
} }