您的位置:首页 > 大数据 > 人工智能

【2014 Multi-University Training Contest 2 1002】/【HDU 4873】 ZCC Loves Intersection

2015-08-16 21:07 645 查看
果然,或滥用零件,啥都不说了。我们欣慰地学习阅读。这两天残疾儿童是数学。

这是求所需的问题,不明确。贴上官方的解题报告。













留着慢慢研究 。

好吧看到其它人写的发现有自带函数。就再贴一个新的。

就得在最以下:


import java.math.BigInteger;
import java.util.Scanner;

public class Main {
static BigInteger [][] c = new BigInteger[110][110];
public static void del() {
for(int i = 0; i <= 105; i ++)
c[i][0] = c[i][i] = BigInteger.ONE;
for(int i = 1; i <= 105; i ++)
{
for(int j = 1; j < i; j ++)
c[i][j] = (c[i-1][j-1] .add(c[i-1][j]));
}
}
public static void main(String[] args)  {
Scanner cin = new Scanner(System.in);
int d;
BigInteger n=BigInteger.ZERO,up=BigInteger.ZERO,down=BigInteger.ZERO,temp=BigInteger.ZERO;
del();
while(cin.hasNext())
{
n=cin.nextBigInteger();
d=cin.nextInt();
up=c[d][2].multiply(n.add(BigInteger.valueOf(4)).pow(2));
down=BigInteger.valueOf(9).multiply(n.pow(d));
if(up.compareTo(down)==0)
{
System.out.println(1);
}
else {
temp=up.gcd(down);
System.out.println(up.divide(temp)+"/"+down.divide(temp));
}
}
cin.close();
}
}


以下是代码(旧):

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
static BigInteger [][] c = new BigInteger[110][110];
public static void del() {
for(int i = 0; i <= 105; i ++)
c[i][0] = c[i][i] = BigInteger.ONE;
for(int i = 1; i <= 105; i ++)
{
for(int j = 1; j < i; j ++)
c[i][j] = (c[i-1][j-1] .add(c[i-1][j]));
}
}
public static BigInteger gcd(BigInteger a ,BigInteger b) {
if(a .compareTo(b)<0)
return gcd(b,a);
if(a .mod(b).compareTo(BigInteger.ZERO)== 0)
return b;
return gcd(b, a.mod(b));
}
public static BigInteger pow(BigInteger a ,int b) {
BigInteger ans = BigInteger.ONE;
for(int i=1;i<=b;i++)
{
ans=ans.multiply(a);
}
return ans;
}
public static void main(String[] args)  {
Scanner cin = new Scanner(System.in);
int d;
BigInteger n=BigInteger.ZERO,up=BigInteger.ZERO,down=BigInteger.ZERO,temp=BigInteger.ZERO;
del();
while(cin.hasNext())
{
n=cin.nextBigInteger();
d=cin.nextInt();
up=c[d][2].multiply(pow(n.add(BigInteger.valueOf(4)),2));
down=BigInteger.valueOf(9).multiply(pow(n, d));
if(up.compareTo(down)==0)
{
System.out.println(1);
}
else {
temp=gcd(up, down);
System.out.println(up.divide(temp)+"/"+down.divide(temp));
}
}
cin.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: