标签:bre return gem pack ted mat imp ++i ack
https://vjudge.net/problem/Gym-102028E
暴力,线性递推分母
//package acm;
import java.math.BigInteger;
import java.util.Scanner;
import com.sun.org.apache.bcel.internal.generic.SWAP;
import com.sun.org.apache.bcel.internal.generic.StackConsumer;
import sun.management.GcInfoCompositeData;
public class Main{
public static final int maxn=1000,maxm=200000;
public static BigInteger gcd(BigInteger a,BigInteger b) {
if(b.compareTo(BigInteger.ZERO)==0)return a;
else return gcd(b, a.remainder(b));
}
public static void main(String[] argc){
int[]a=new int[maxn];
for(int i=2;i<maxn;i++) a[i]=i;
for(int i=2;i<maxn;i++) if(a[i]!=0)
for(int j=i*2;j<maxn;j=j+i) a[j]=0;
Scanner cin=new Scanner(System.in);
int casn=cin.nextInt();
int[] prime=new int[10000];
for(int ii=1;ii<=casn;++ii) {
BigInteger x=cin.nextBigInteger();
BigInteger res=BigInteger.ONE;
BigInteger now=BigInteger.ONE;
int i=1;
while(true) {
i++;
if(a[i]==0) continue;
if(res.multiply(BigInteger.valueOf(a[i])).compareTo(x)<=0) {
res=res.multiply(BigInteger.valueOf(a[i]));
now=now.multiply(BigInteger.valueOf(a[i]+1));
}else break;
}
BigInteger g=gcd(res,now);
res=res.divide(g);
now=now.divide(g);
System.out.println(res+"/"+now);
}
}
}
标签:bre return gem pack ted mat imp ++i ack
原文地址:https://www.cnblogs.com/nervendnig/p/11775062.html