hdu 4002 Find the maximum——数論

23457 ワード

テーマが水っぽいから、言わないでください.の主にコードを貼ってから役に立つと思います.の
import java.io.*;
import java.math.*;
import java.util.*;
import java.text.*;

public class Main
{
public static void main (String[] args)
{
Scanner cin
=new Scanner (new BufferedInputStream(System.in));
BigInteger prime[]
=new BigInteger[110];
BigInteger m[]
=new BigInteger[110];
int t;
BigInteger x;
prime[
1]=BigInteger.valueOf(2);
prime[
2]=BigInteger.valueOf(3);
prime[
3]=BigInteger.valueOf(5);
prime[
4]=BigInteger.valueOf(7);
prime[
5]=BigInteger.valueOf(11);
prime[
6]=BigInteger.valueOf(13);
prime[
7]=BigInteger.valueOf(17);
prime[
8]=BigInteger.valueOf(19);
prime[
9]=BigInteger.valueOf(23);
prime[
10]=BigInteger.valueOf(29);
prime[
11]=BigInteger.valueOf(31);
prime[
12]=BigInteger.valueOf(37);
prime[
13]=BigInteger.valueOf(41);
prime[
14]=BigInteger.valueOf(43);
prime[
15]=BigInteger.valueOf(47);
prime[
16]=BigInteger.valueOf(53);
prime[
17]=BigInteger.valueOf(59);
prime[
18]=BigInteger.valueOf(61);
prime[
19]=BigInteger.valueOf(67);
prime[
20]=BigInteger.valueOf(71);
prime[
21]=BigInteger.valueOf(73);
prime[
22]=BigInteger.valueOf(79);
prime[
23]=BigInteger.valueOf(83);
prime[
24]=BigInteger.valueOf(89);
prime[
25]=BigInteger.valueOf(97);
prime[
26]=BigInteger.valueOf(101);
prime[
27]=BigInteger.valueOf(103);
prime[
28]=BigInteger.valueOf(107);
prime[
29]=BigInteger.valueOf(109);
prime[
30]=BigInteger.valueOf(113);
prime[
31]=BigInteger.valueOf(127);
prime[
32]=BigInteger.valueOf(131);
prime[
33]=BigInteger.valueOf(137);
prime[
34]=BigInteger.valueOf(139);
prime[
35]=BigInteger.valueOf(149);
prime[
36]=BigInteger.valueOf(151);
prime[
37]=BigInteger.valueOf(157);
prime[
38]=BigInteger.valueOf(163);
prime[
39]=BigInteger.valueOf(167);
prime[
40]=BigInteger.valueOf(173);
prime[
41]=BigInteger.valueOf(179);
prime[
42]=BigInteger.valueOf(181);
prime[
43]=BigInteger.valueOf(191);
prime[
44]=BigInteger.valueOf(193);
prime[
45]=BigInteger.valueOf(197);
prime[
46]=BigInteger.valueOf(199);
prime[
47]=BigInteger.valueOf(211);
prime[
48]=BigInteger.valueOf(223);
prime[
49]=BigInteger.valueOf(227);
prime[
50]=BigInteger.valueOf(229);
prime[
51]=BigInteger.valueOf(233);
prime[
52]=BigInteger.valueOf(239);
prime[
53]=BigInteger.valueOf(241);
prime[
54]=BigInteger.valueOf(251);
prime[
55]=BigInteger.valueOf(257);
prime[
56]=BigInteger.valueOf(263);
prime[
57]=BigInteger.valueOf(269);
prime[
58]=BigInteger.valueOf(271);
prime[
59]=BigInteger.valueOf(277);
prime[
60]=BigInteger.valueOf(281);
prime[
61]=BigInteger.valueOf(283);
prime[
62]=BigInteger.valueOf(293);
prime[
63]=BigInteger.valueOf(307);
prime[
64]=BigInteger.valueOf(311);
prime[
65]=BigInteger.valueOf(313);
prime[
66]=BigInteger.valueOf(317);
prime[
67]=BigInteger.valueOf(331);
prime[
68]=BigInteger.valueOf(337);
prime[
69]=BigInteger.valueOf(347);
prime[
70]=BigInteger.valueOf(349);
m[
1]=prime[1];
for(int i=2;i<=70;i++)
m[i]
=m[i-1].multiply(prime[i]);
t
=cin.nextInt();
while(t>0)
{
t
--;
x
=cin.nextBigInteger();
for(int i=1;i<=70;i++)
{
if(m[i].compareTo(x)==1)
{
System.out.println(m[i
-1]);
break;
}
}
}
}
}