题意:
我们定义一个数列,数列里的数要满足每个数字至少有三个因子是质数(不能重复),询问数列的第n个数字。
思路:
打表。。。我以为不打表会超时,实则不是。
代码:
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int num[10000];
void init()
{
num[1]=30;
num[2]=42;
num[3]=60;
num[4]=66;
num[5]=70;
num[6]=78;
num[7]=84;
num[8]=90;
num[9]=102;
num[10]=105;
num[11]=110;
num[12]=114;
num[13]=120;
num[14]=126;
num[15]=130;
num[16]=132;
num[17]=138;
num[18]=140;
num[19]=150;
num[20]=154;
num[21]=156;
num[22]=165;
num[23]=168;
num[24]=170;
num[25]=174;
num[26]=180;
num[27]=182;
num[28]=186;
num[29]=190;
num[30]=195;
num[31]=198;
num[32]=204;
num[33]=210;
num[34]=220;
num[35]=222;
num[36]=228;
num[37]=230;
num[38]=231;
num[39]=234;
num[40]=238;
num[41]=240;
num[42]=246;
num[43]=252;
num[44]=255;
num[45]=258;
num[46]=260;
num[47]=264;
num[48]=266;
num[49]=270;
num[50]=273;
num[51]=276;
num[52]=280;
num[53]=282;
num[54]=285;
num[55]=286;
num[56]=290;
num[57]=294;
num[58]=300;
num[59]=306;
num[60]=308;
num[61]=310;
num[62]=312;
num[63]=315;
num[64]=318;
num[65]=322;
num[66]=330;
num[67]=336;
num[68]=340;
num[69]=342;
num[70]=345;
num[71]=348;
num[72]=350;
num[73]=354;
num[74]=357;
num[75]=360;
num[76]=364;
num[77]=366;
num[78]=370;
num[79]=372;
num[80]=374;
num[81]=378;
num[82]=380;
num[83]=385;
num[84]=390;
num[85]=396;
num[86]=399;
num[87]=402;
num[88]=406;
num[89]=408;
num[90]=410;
num[91]=414;
num[92]=418;
num[93]=420;
num[94]=426;
num[95]=429;
num[96]=430;
num[97]=434;
num[98]=435;
num[99]=438;
num[100]=440;
num[101]=442;
num[102]=444;
num[103]=450;
num[104]=455;
num[105]=456;
num[106]=460;
num[107]=462;
num[108]=465;
num[109]=468;
num[110]=470;
num[111]=474;
num[112]=476;
num[113]=480;
num[114]=483;
num[115]=490;
num[116]=492;
num[117]=494;
num[118]=495;
num[119]=498;
num[120]=504;
num[121]=506;
num[122]=510;
num[123]=516;
num[124]=518;
num[125]=520;
num[126]=522;
num[127]=525;
num[128]=528;
num[129]=530;
num[130]=532;
num[131]=534;
num[132]=540;
num[133]=546;
num[134]=550;
num[135]=552;
num[136]=555;
num[137]=558;
num[138]=560;
num[139]=561;
num[140]=564;
num[141]=570;
num[142]=572;
num[143]=574;
num[144]=580;
num[145]=582;
num[146]=585;
num[147]=588;
num[148]=590;
num[149]=594;
num[150]=595;
num[151]=598;
num[152]=600;
num[153]=602;
num[154]=606;
num[155]=609;
num[156]=610;
num[157]=612;
num[158]=615;
num[159]=616;
num[160]=618;
num[161]=620;
num[162]=624;
num[163]=627;
num[164]=630;
num[165]=636;
num[166]=638;
num[167]=642;
num[168]=644;
num[169]=645;
num[170]=646;
num[171]=650;
num[172]=651;
num[173]=654;
num[174]=658;
num[175]=660;
num[176]=663;
num[177]=665;
num[178]=666;
num[179]=670;
num[180]=672;
num[181]=678;
num[182]=680;
num[183]=682;
num[184]=684;
num[185]=690;
num[186]=693;
num[187]=696;
num[188]=700;
num[189]=702;
num[190]=705;
num[191]=708;
num[192]=710;
num[193]=714;
num[194]=715;
num[195]=720;
num[196]=726;
num[197]=728;
num[198]=730;
num[199]=732;
num[200]=735;
num[201]=738;
num[202]=740;
num[203]=741;
num[204]=742;
num[205]=744;
num[206]=748;
num[207]=750;
num[208]=754;
num[209]=756;
num[210]=759;
num[211]=760;
num[212]=762;
num[213]=765;
num[214]=770;
num[215]=774;
num[216]=777;
num[217]=780;
num[218]=782;
num[219]=786;
num[220]=790;
num[221]=792;
num[222]=795;
num[223]=798;
num[224]=804;
num[225]=805;
num[226]=806;
num[227]=810;
num[228]=812;
num[229]=814;
num[230]=816;
num[231]=819;
num[232]=820;
num[233]=822;
num[234]=825;
num[235]=826;
num[236]=828;
num[237]=830;
num[238]=834;
num[239]=836;
num[240]=840;
num[241]=846;
num[242]=850;
num[243]=852;
num[244]=854;
num[245]=855;
num[246]=858;
num[247]=860;
num[248]=861;
num[249]=868;
num[250]=870;
num[251]=874;
num[252]=876;
num[253]=880;
num[254]=882;
num[255]=884;
num[256]=885;
num[257]=888;
num[258]=890;
num[259]=894;
num[260]=897;
num[261]=900;
num[262]=902;
num[263]=903;
num[264]=906;
num[265]=910;
num[266]=912;
num[267]=915;
num[268]=918;
num[269]=920;
num[270]=924;
num[271]=930;
num[272]=935;
num[273]=936;
num[274]=938;
num[275]=940;
num[276]=942;
num[277]=945;
num[278]=946;
num[279]=948;
num[280]=950;
num[281]=952;
num[282]=954;
num[283]=957;
num[284]=960;
num[285]=962;
num[286]=966;
num[287]=969;
num[288]=970;
num[289]=975;
num[290]=978;
num[291]=980;
num[292]=984;
num[293]=986;
num[294]=987;
num[295]=988;
num[296]=990;
num[297]=994;
num[298]=996;
num[299]=1001;
num[300]=1002;
num[301]=1005;
num[302]=1008;
num[303]=1010;
num[304]=1012;
num[305]=1014;
num[306]=1015;
num[307]=1020;
num[308]=1022;
num[309]=1023;
num[310]=1026;
num[311]=1030;
num[312]=1032;
num[313]=1034;
num[314]=1035;
num[315]=1036;
num[316]=1038;
num[317]=1040;
num[318]=1044;
num[319]=1045;
num[320]=1050;
num[321]=1054;
num[322]=1056;
num[323]=1060;
num[324]=1062;
num[325]=1064;
num[326]=1065;
num[327]=1066;
num[328]=1068;
num[329]=1070;
num[330]=1071;
num[331]=1074;
num[332]=1078;
num[333]=1080;
num[334]=1085;
num[335]=1086;
num[336]=1090;
num[337]=1092;
num[338]=1095;
num[339]=1098;
num[340]=1100;
num[341]=1102;
num[342]=1104;
num[343]=1105;
num[344]=1106;
num[345]=1110;
num[346]=1113;
num[347]=1116;
num[348]=1118;
num[349]=1120;
num[350]=1122;
num[351]=1128;
num[352]=1130;
num[353]=1131;
num[354]=1134;
num[355]=1140;
num[356]=1144;
num[357]=1146;
num[358]=1148;
num[359]=1150;
num[360]=1155;
num[361]=1158;
num[362]=1160;
num[363]=1162;
num[364]=1164;
num[365]=1166;
num[366]=1170;
num[367]=1173;
num[368]=1176;
num[369]=1178;
num[370]=1180;
num[371]=1182;
num[372]=1185;
num[373]=1188;
num[374]=1190;
num[375]=1194;
num[376]=1196;
num[377]=1197;
num[378]=1200;
num[379]=1204;
num[380]=1206;
num[381]=1209;
num[382]=1210;
num[383]=1212;
num[384]=1218;
num[385]=1220;
num[386]=1221;
num[387]=1222;
num[388]=1224;
num[389]=1230;
num[390]=1232;
num[391]=1235;
num[392]=1236;
num[393]=1239;
num[394]=1240;
num[395]=1242;
num[396]=1245;
num[397]=1246;
num[398]=1248;
num[399]=1254;
num[400]=1258;
num[401]=1260;
num[402]=1265;
num[403]=1266;
num[404]=1270;
num[405]=1272;
num[406]=1274;
num[407]=1275;
num[408]=1276;
num[409]=1278;
num[410]=1281;
num[411]=1284;
num[412]=1287;
num[413]=1288;
num[414]=1290;
num[415]=1292;
num[416]=1295;
num[417]=1298;
num[418]=1300;
num[419]=1302;
num[420]=1305;
num[421]=1308;
num[422]=1309;
num[423]=1310;
num[424]=1311;
num[425]=1314;
num[426]=1316;
num[427]=1320;
num[428]=1326;
num[429]=1330;
num[430]=1332;
num[431]=1334;
num[432]=1335;
num[433]=1338;
num[434]=1340;
num[435]=1342;
num[436]=1344;
num[437]=1350;
num[438]=1353;
num[439]=1356;
num[440]=1358;
num[441]=1360;
num[442]=1362;
num[443]=1364;
num[444]=1365;
num[445]=1368;
num[446]=1370;
num[447]=1374;
num[448]=1378;
num[449]=1380;
num[450]=1386;
num[451]=1390;
num[452]=1392;
num[453]=1394;
num[454]=1395;
num[455]=1398;
num[456]=1400;
num[457]=1404;
num[458]=1406;
num[459]=1407;
num[460]=1410;
num[461]=1414;
num[462]=1416;
num[463]=1419;
num[464]=1420;
num[465]=1422;
num[466]=1425;
num[467]=1426;
num[468]=1428;
num[469]=1430;
num[470]=1434;
num[471]=1435;
num[472]=1440;
num[473]=1442;
num[474]=1443;
num[475]=1446;
num[476]=1449;
num[477]=1450;
num[478]=1452;
num[479]=1455;
num[480]=1456;
num[481]=1460;
num[482]=1462;
num[483]=1463;
num[484]=1464;
num[485]=1470;
num[486]=1474;
num[487]=1476;
num[488]=1479;
num[489]=1480;
num[490]=1482;
num[491]=1484;
num[492]=1485;
num[493]=1488;
num[494]=1490;
num[495]=1491;
num[496]=1494;
num[497]=1495;
num[498]=1496;
num[499]=1498;
num[500]=1500;
num[501]=1505;
num[502]=1506;
num[503]=1508;
num[504]=1510;
num[505]=1512;
num[506]=1515;
num[507]=1518;
num[508]=1520;
num[509]=1524;
num[510]=1526;
num[511]=1530;
num[512]=1533;
num[513]=1534;
num[514]=1540;
num[515]=1542;
num[516]=1545;
num[517]=1547;
num[518]=1548;
num[519]=1550;
num[520]=1551;
num[521]=1554;
num[522]=1558;
num[523]=1560;
num[524]=1562;
num[525]=1564;
num[526]=1566;
num[527]=1570;
num[528]=1572;
num[529]=1575;
num[530]=1578;
num[531]=1580;
num[532]=1581;
num[533]=1582;
num[534]=1584;
num[535]=1586;
num[536]=1590;
num[537]=1595;
num[538]=1596;
num[539]=1598;
num[540]=1599;
num[541]=1602;
num[542]=1605;
num[543]=1606;
num[544]=1608;
num[545]=1610;
num[546]=1612;
num[547]=1614;
num[548]=1615;
num[549]=1617;
num[550]=1620;
num[551]=1624;
num[552]=1626;
num[553]=1628;
num[554]=1630;
num[555]=1632;
num[556]=1634;
num[557]=1635;
num[558]=1638;
num[559]=1640;
num[560]=1644;
num[561]=1645;
num[562]=1650;
num[563]=1652;
num[564]=1653;
num[565]=1656;
num[566]=1659;
num[567]=1660;
num[568]=1662;
num[569]=1665;
num[570]=1666;
num[571]=1668;
num[572]=1670;
num[573]=1672;
num[574]=1674;
num[575]=1677;
num[576]=1680;
num[577]=1683;
num[578]=1686;
num[579]=1690;
num[580]=1692;
num[581]=1694;
num[582]=1695;
num[583]=1698;
num[584]=1700;
num[585]=1702;
num[586]=1704;
num[587]=1705;
num[588]=1708;
num[589]=1710;
num[590]=1716;
num[591]=1720;
num[592]=1722;
num[593]=1725;
num[594]=1729;
num[595]=1730;
num[596]=1734;
num[597]=1736;
num[598]=1738;
num[599]=1740;
num[600]=1742;
num[601]=1743;
num[602]=1746;
num[603]=1748;
num[604]=1749;
num[605]=1750;
num[606]=1752;
num[607]=1755;
num[608]=1758;
num[609]=1760;
num[610]=1764;
num[611]=1767;
num[612]=1768;
num[613]=1770;
num[614]=1771;
num[615]=1776;
num[616]=1778;
num[617]=1780;
num[618]=1782;
num[619]=1785;
num[620]=1786;
num[621]=1788;
num[622]=1790;
num[623]=1794;
num[624]=1798;
num[625]=1800;
num[626]=1802;
num[627]=1804;
num[628]=1806;
num[629]=1810;
num[630]=1812;
num[631]=1815;
num[632]=1818;
num[633]=1820;
num[634]=1824;
num[635]=1826;
num[636]=1827;
num[637]=1830;
num[638]=1833;
num[639]=1834;
num[640]=1836;
num[641]=1840;
num[642]=1842;
num[643]=1845;
num[644]=1846;
num[645]=1848;
num[646]=1850;
num[647]=1854;
num[648]=1855;
num[649]=1860;
num[650]=1862;
num[651]=1866;
num[652]=1869;
num[653]=1870;
num[654]=1872;
num[655]=1876;
num[656]=1878;
num[657]=1880;
num[658]=1881;
num[659]=1884;
num[660]=1885;
num[661]=1886;
num[662]=1887;
num[663]=1890;
num[664]=1892;
num[665]=1896;
num[666]=1898;
num[667]=1900;
num[668]=1902;
num[669]=1904;
num[670]=1905;
num[671]=1908;
num[672]=1910;
num[673]=1911;
num[674]=1914;
num[675]=1918;
num[676]=1920;
num[677]=1924;
num[678]=1925;
num[679]=1926;
num[680]=1930;
num[681]=1932;
num[682]=1935;
num[683]=1938;
num[684]=1940;
num[685]=1946;
num[686]=1947;
num[687]=1950;
num[688]=1953;
num[689]=1955;
num[690]=1956;
num[691]=1958;
num[692]=1960;
num[693]=1962;
num[694]=1965;
num[695]=1968;
num[696]=1970;
num[697]=1972;
num[698]=1974;
num[699]=1976;
num[700]=1978;
num[701]=1980;
num[702]=1986;
num[703]=1988;
num[704]=1989;
num[705]=1990;
num[706]=1992;
num[707]=1995;
num[708]=1998;
num[709]=2001;
num[710]=2002;
num[711]=2004;
num[712]=2006;
num[713]=2010;
num[714]=2013;
num[715]=2014;
num[716]=2015;
num[717]=2016;
num[718]=2020;
num[719]=2022;
num[720]=2024;
num[721]=2028;
num[722]=2030;
num[723]=2034;
num[724]=2035;
num[725]=2037;
num[726]=2040;
num[727]=2044;
num[728]=2046;
num[729]=2050;
num[730]=2052;
num[731]=2054;
num[732]=2055;
num[733]=2058;
num[734]=2060;
num[735]=2064;
num[736]=2065;
num[737]=2067;
num[738]=2068;
num[739]=2070;
num[740]=2072;
num[741]=2074;
num[742]=2076;
num[743]=2079;
num[744]=2080;
num[745]=2082;
num[746]=2085;
num[747]=2086;
num[748]=2088;
num[749]=2090;
num[750]=2091;
num[751]=2093;
num[752]=2094;
num[753]=2100;
num[754]=2106;
num[755]=2108;
num[756]=2109;
num[757]=2110;
num[758]=2112;
num[759]=2114;
num[760]=2115;
num[761]=2118;
num[762]=2120;
num[763]=2121;
num[764]=2124;
num[765]=2128;
num[766]=2130;
num[767]=2132;
num[768]=2134;
num[769]=2135;
num[770]=2136;
num[771]=2139;
num[772]=2140;
num[773]=2142;
num[774]=2145;
num[775]=2146;
num[776]=2148;
num[777]=2150;
num[778]=2154;
num[779]=2156;
num[780]=2158;
num[781]=2160;
num[782]=2162;
num[783]=2163;
num[784]=2166;
num[785]=2170;
num[786]=2172;
num[787]=2175;
num[788]=2178;
num[789]=2180;
num[790]=2184;
num[791]=2185;
num[792]=2190;
num[793]=2193;
num[794]=2196;
num[795]=2198;
num[796]=2200;
num[797]=2202;
num[798]=2204;
num[799]=2205;
num[800]=2208;
num[801]=2210;
num[802]=2211;
num[803]=2212;
num[804]=2214;
num[805]=2220;
num[806]=2222;
num[807]=2223;
num[808]=2226;
num[809]=2230;
num[810]=2232;
num[811]=2233;
num[812]=2235;
num[813]=2236;
num[814]=2238;
num[815]=2240;
num[816]=2242;
num[817]=2244;
num[818]=2247;
num[819]=2250;
num[820]=2254;
num[821]=2255;
num[822]=2256;
num[823]=2260;
num[824]=2261;
num[825]=2262;
num[826]=2265;
num[827]=2266;
num[828]=2268;
num[829]=2270;
num[830]=2274;
num[831]=2275;
num[832]=2277;
num[833]=2278;
num[834]=2280;
num[835]=2282;
num[836]=2286;
num[837]=2288;
num[838]=2289;
num[839]=2290;
num[840]=2292;
num[841]=2294;
num[842]=2295;
num[843]=2296;
num[844]=2298;
num[845]=2300;
num[846]=2301;
num[847]=2310;
num[848]=2314;
num[849]=2316;
num[850]=2318;
num[851]=2320;
num[852]=2322;
num[853]=2324;
num[854]=2325;
num[855]=2328;
num[856]=2330;
num[857]=2331;
num[858]=2332;
num[859]=2334;
num[860]=2337;
num[861]=2338;
num[862]=2340;
num[863]=2343;
num[864]=2345;
num[865]=2346;
num[866]=2350;
num[867]=2352;
num[868]=2354;
num[869]=2355;
num[870]=2356;
num[871]=2358;
num[872]=2360;
num[873]=2364;
num[874]=2365;
num[875]=2366;
num[876]=2370;
num[877]=2373;
num[878]=2376;
num[879]=2378;
num[880]=2379;
num[881]=2380;
num[882]=2382;
num[883]=2385;
num[884]=2387;
num[885]=2388;
num[886]=2390;
num[887]=2392;
num[888]=2394;
num[889]=2397;
num[890]=2398;
num[891]=2400;
num[892]=2405;
num[893]=2406;
num[894]=2408;
num[895]=2409;
num[896]=2410;
num[897]=2412;
num[898]=2414;
num[899]=2415;
num[900]=2418;
num[901]=2420;
num[902]=2422;
num[903]=2424;
num[904]=2430;
num[905]=2431;
num[906]=2436;
num[907]=2438;
num[908]=2440;
num[909]=2442;
num[910]=2444;
num[911]=2445;
num[912]=2448;
num[913]=2450;
num[914]=2451;
num[915]=2454;
num[916]=2457;
num[917]=2460;
num[918]=2464;
num[919]=2465;
num[920]=2466;
num[921]=2470;
num[922]=2472;
num[923]=2475;
num[924]=2478;
num[925]=2480;
num[926]=2482;
num[927]=2484;
num[928]=2485;
num[929]=2486;
num[930]=2490;
num[931]=2492;
num[932]=2494;
num[933]=2496;
num[934]=2499;
num[935]=2502;
num[936]=2505;
num[937]=2506;
num[938]=2508;
num[939]=2510;
num[940]=2514;
num[941]=2516;
num[942]=2520;
num[943]=2522;
num[944]=2526;
num[945]=2530;
num[946]=2532;
num[947]=2534;
num[948]=2535;
num[949]=2538;
num[950]=2540;
num[951]=2541;
num[952]=2542;
num[953]=2544;
num[954]=2546;
num[955]=2548;
num[956]=2550;
num[957]=2552;
num[958]=2553;
num[959]=2555;
num[960]=2556;
num[961]=2562;
num[962]=2565;
num[963]=2568;
num[964]=2570;
num[965]=2574;
num[966]=2576;
num[967]=2580;
num[968]=2583;
num[969]=2584;
num[970]=2585;
num[971]=2586;
num[972]=2590;
num[973]=2595;
num[974]=2596;
num[975]=2598;
num[976]=2600;
num[977]=2604;
num[978]=2607;
num[979]=2610;
num[980]=2613;
num[981]=2616;
num[982]=2618;
num[983]=2620;
num[984]=2622;
num[985]=2625;
num[986]=2626;
num[987]=2628;
num[988]=2630;
num[989]=2632;
num[990]=2634;
num[991]=2635;
num[992]=2639;
num[993]=2640;
num[994]=2646;
num[995]=2650;
num[996]=2652;
num[997]=2655;
num[998]=2658;
num[999]=2660;
num[1000]=2664;
num[1001]=2665;
num[1002]=2666;
}
int main()
{
int t;
init();
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
printf("%d\n",num[n]);
}
return 0;
}