java,
分享于 点击 13446 次 点评:123
java,
公式 c(n+m-1,m);
import java.math.*;
import java.io.*;
import java.util.*;
public class Main {
// static final long[] a = new long[26];
public static BigInteger fun(int n)
{
BigInteger a;
a = BigInteger.valueOf(1);
for(int i=1;i<=n;i++)
{
a = a.multiply(BigInteger.valueOf(i));
}
return a;
}
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
BigInteger n = cin.nextBigInteger();
BigInteger m = cin.nextBigInteger();
if (n.compareTo(BigInteger.ZERO) == 0&& m.compareTo(BigInteger.ZERO) == 0)
break;
n = n.add(m).subtract(BigInteger.ONE);
BigInteger x = n.subtract(m);
BigInteger y = fun(Integer.valueOf(x.toString()));
BigInteger z = fun(Integer.valueOf(n.toString()));
BigInteger w = fun(Integer.valueOf(m.toString()));
y = y.multiply(w);
z = z.divide(y);
System.out.println(z);
}
}
}
求高精度幂 nyoj155
import java.math.*;
import java.io.*;
import java.util.*;
import java.math.BigDecimal;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
BigDecimal ans=cin.nextBigDecimal();
int n=cin.nextInt();
String res=ans.pow(n).stripTrailingZeros().toPlainString(); //去除末尾的0
//System.out.println(res);
if(res.startsWith("0")) //去除前导的零
{
res=res.substring(1);
}
System.out.println(res);
}
}
}
a+b 并输出最简形式
import java.math.BigDecimal;
import java.util.Locale;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
BigDecimal a,b;
while(in.hasNext())
{
a=in.nextBigDecimal();
b=in.nextBigDecimal();
a=a.add(b);
if(a.compareTo(BigDecimal.ZERO)==0)
System.out.println("0");
else
System.out.println(a.stripTrailingZeros().toPlainString());
}
}
}
poj 1200 map 应用。
import java.math.*;
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
Map map=new HashMap();
String s,key;
int i,num,n,m;
while (cin.hasNext())
{
n = cin.nextInt();
m = cin.nextInt();
s = cin.next();
m = s.length();
for (num = i = 0; i <= m-n; i++)
{
key = s.substring(i, i + n);
if (!map.containsKey(key))
{
num++;
map.put(key, 1);
}
}
System.out.println(num);
map.clear();
}
}
}
hdu 2054 比较A,B是否相等,有前导零,正负号,后面的零。
import java.math.*;
import java.io.*;
import java.util.*;
import java.math.BigDecimal;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
while(cin.hasNext())
{
BigDecimal ans=cin.nextBigDecimal();
BigDecimal res=cin.nextBigDecimal();
String ans1=ans.stripTrailingZeros().toPlainString(); //去除末尾的0
if(ans1.startsWith("0")) //去除前导的零
{
ans1=ans1.substring(1);
}
String res1=res.stripTrailingZeros().toPlainString();
if(res1.startsWith("0"))
{
res1=res1.substring(1);
}
if(ans1.compareTo(res1)!=0)
{
System.out.println("NO");
}
else
{
System.out.println("YES");
}
}
}
}
相关文章
- 暂无相关文章
用户点评