熟悉一下大數的板子
import java.util.Scanner;
import java.math.*;
public class Main {
public static int [] prime = new int [5001];
public static int [] isprime = new int [5001];
public static int tot = 0;
public static void getprime()
{
isprime[1] = 0;
for(int i=2;i<=5000;i++) isprime[i] = 1;
for(int i=2;i<=5000;i++)
{
if(isprime[i]==0) continue;
//System.out.println(i);
prime[++tot] = i;
for(int j=i*2;j<=5000;j+=i) isprime[j] = 0;
}
}
public static void main(String[] args) {
getprime();
Scanner in = new Scanner(System.in);
int t = in.nextInt();
//for(int i=1;i<=tot;i++) System.out.println(prime[i]);
while(t--!=0)
{
tot = 0;
BigInteger n = in.nextBigInteger();
BigInteger res = BigInteger.ONE;
BigInteger sum = BigInteger.ONE;
for(int i=1;i<=70;i++)
{
if(res.multiply(BigInteger.valueOf(prime[i])).compareTo(n)<=0)
{
res = res.multiply(BigInteger.valueOf(prime[i]));
sum = sum.multiply(BigInteger.valueOf(prime[i]+1));
}
else break;
}
//System.out.println(res+" "+sum);
BigInteger g =sum.gcd(res);
sum = sum.divide(g);
res = res.divide(g);
System.out.println(res+"/"+sum);
}
}
}