求助 我不知道哪里错了 555
查看原帖
求助 我不知道哪里错了 555
755416
TwistzZ0629楼主2022/7/21 23:38

代码如下:

#include <iostream>
#include <string>

using namespace std;

//使用 python 打表
const string pri_palNumber[100005] = {"2", "3", "4", "5", "6", "7", "8", "9", "11", "101", "121", "131", "151", "181",
                                     "191", "313", "323", "353", "373", "383", "727", "757", "787", "797", "919",
                                     "929", "10201", "10301", "10501", "10601", "11311", "11411", "12421", "12721",
                                     "12821", "13331", "13831", "13931", "14341", "14741", "15451", "15551", "16061",
                                     "16361", "16561", "16661", "17471", "17971", "18181", "18481", "19391", "19891",
                                     "19991", "30103", "30203", "30403", "30703", "30803", "31013", "31513", "32323",
                                     "32423", "33533", "34543", "34843", "35053", "35153", "35353", "35753", "36263",
                                     "36563", "36863", "37273", "37573", "38083", "38183", "38783", "39293", "70207",
                                     "70507", "70607", "71317", "71917", "72227", "72727", "73037", "73237", "73637",
                                     "74047", "74747", "75557", "76367", "76667", "77377", "77477", "77977", "78487",
                                     "78787", "78887", "79397", "79697", "79997", "90709", "91019", "93139", "93239",
                                     "93739", "94049", "94249", "94349", "94649", "94849", "94949", "95959", "96269",
                                     "96469", "96769", "97379", "97579", "97879", "98389", "98689", "1003001",
                                     "1008001", "1022201", "1028201", "1035301", "1043401", "1055501", "1062601",
                                     "1065601", "1074701", "1082801", "1085801", "1092901", "1093901", "1114111",
                                     "1117111", "1120211", "1123211", "1126211", "1129211", "1134311", "1145411",
                                     "1150511", "1153511", "1160611", "1163611", "1175711", "1177711", "1178711",
                                     "1180811", "1183811", "1186811", "1190911", "1193911", "1196911", "1201021",
                                     "1208021", "1212121", "1215121", "1218121", "1221221", "1235321", "1242421",
                                     "1243421", "1245421", "1250521", "1253521", "1257521", "1262621", "1268621",
                                     "1273721", "1276721", "1278721", "1280821", "1281821", "1286821", "1287821",
                                     "1300031", "1303031", "1311131", "1317131", "1327231", "1328231", "1333331",
                                     "1335331", "1338331", "1343431", "1360631", "1362631", "1363631", "1371731",
                                     "1374731", "1390931", "1407041", "1409041", "1411141", "1412141", "1422241",
                                     "1437341", "1444441", "1447441", "1452541", "1456541", "1461641", "1463641",
                                     "1464641", "1469641", "1486841", "1489841", "1490941", "1496941", "1508051",
                                     "1513151", "1520251", "1532351", "1535351", "1542451", "1548451", "1550551",
                                     "1551551", "1556551", "1557551", "1565651", "1572751", "1579751", "1580851",
                                     "1583851", "1589851", "1594951", "1597951", "1598951", "1600061", "1609061",
                                     "1611161", "1616161", "1628261", "1630361", "1633361", "1640461", "1643461",
                                     "1646461", "1654561", "1657561", "1658561", "1660661", "1670761", "1684861",
                                     "1685861", "1688861", "1695961", "1703071", "1707071", "1712171", "1714171",
                                     "1730371", "1734371", "1737371", "1748471", "1755571", "1761671", "1764671",
                                     "1777771", "1793971", "1802081", "1805081", "1820281", "1823281", "1824281",
                                     "1826281", "1829281", "1831381", "1832381", "1842481", "1851581", "1853581",
                                     "1856581", "1865681", "1876781", "1878781", "1879781", "1880881", "1881881",
                                     "1883881", "1884881", "1895981", "1903091", "1908091", "1909091", "1917191",
                                     "1924291", "1930391", "1936391", "1941491", "1951591", "1952591", "1957591",
                                     "1958591", "1963691", "1968691", "1969691", "1970791", "1976791", "1981891",
                                     "1982891", "1984891", "1987891", "1988891", "1993991", "1995991", "1998991",
                                     "3001003", "3002003", "3007003", "3016103", "3026203", "3064603", "3065603",
                                     "3072703", "3073703", "3075703", "3083803", "3089803", "3091903", "3095903",
                                     "3103013", "3106013", "3127213", "3135313", "3140413", "3155513", "3158513",
                                     "3160613", "3166613", "3181813", "3187813", "3193913", "3196913", "3198913",
                                     "3211123", "3212123", "3218123", "3222223", "3223223", "3228223", "3233323",
                                     "3236323", "3241423", "3245423", "3252523", "3256523", "3258523", "3260623",
                                     "3267623", "3272723", "3283823", "3285823", "3286823", "3288823", "3291923",
                                     "3293923", "3304033", "3305033", "3307033", "3310133", "3315133", "3319133",
                                     "3321233", "3329233", "3331333", "3337333", "3343433", "3353533", "3362633",
                                     "3364633", "3365633", "3368633", "3380833", "3391933", "3392933", "3400043",
                                     "3411143", "3417143", "3424243", "3425243", "3427243", "3439343", "3441443",
                                     "3443443", "3444443", "3447443", "3449443", "3452543", "3460643", "3466643",
                                     "3470743", "3479743", "3485843", "3487843", "3503053", "3515153", "3517153",
                                     "3528253", "3541453", "3553553", "3558553", "3563653", "3569653", "3586853",
                                     "3589853", "3590953", "3591953", "3594953", "3601063", "3607063", "3618163",
                                     "3621263", "3627263", "3635363", "3643463", "3646463", "3670763", "3673763",
                                     "3680863", "3689863", "3698963", "3708073", "3709073", "3716173", "3717173",
                                     "3721273", "3722273", "3728273", "3732373", "3743473", "3746473", "3762673",
                                     "3763673", "3765673", "3768673", "3769673", "3773773", "3774773", "3781873",
                                     "3784873", "3792973", "3793973", "3799973", "3804083", "3806083", "3812183",
                                     "3814183", "3826283", "3829283", "3836383", "3842483", "3853583", "3858583",
                                     "3863683", "3864683", "3867683", "3869683", "3871783", "3878783", "3893983",
                                     "3899983", "3913193", "3916193", "3918193", "3924293", "3927293", "3931393",
                                     "3938393", "3942493", "3946493", "3948493", "3964693", "3970793", "3983893",
                                     "3991993", "3994993", "3997993", "3998993", "7014107", "7035307", "7036307",
                                     "7041407", "7046407", "7057507", "7065607", "7069607", "7073707", "7079707",
                                     "7082807", "7084807", "7087807", "7093907", "7096907", "7100017", "7114117",
                                     "7115117", "7118117", "7129217", "7134317", "7136317", "7141417", "7145417",
                                     "7155517", "7156517", "7158517", "7159517", "7177717", "7190917", "7194917",
                                     "7215127", "7226227", "7246427", "7249427", "7250527", "7256527", "7257527",
                                     "7261627", "7267627", "7276727", "7278727", "7291927", "7300037", "7302037",
                                     "7310137", "7314137", "7324237", "7327237", "7347437", "7352537", "7354537",
                                     "7362637", "7365637", "7381837", "7388837", "7392937", "7401047", "7403047",
                                     "7409047", "7415147", "7434347", "7436347", "7439347", "7452547", "7461647",
                                     "7466647", "7472747", "7475747", "7485847", "7486847", "7489847", "7493947",
                                     "7507057", "7508057", "7518157", "7519157", "7521257", "7527257", "7540457",
                                     "7562657", "7564657", "7576757", "7586857", "7592957", "7594957", "7600067",
                                     "7611167", "7619167", "7622267", "7630367", "7632367", "7644467", "7654567",
                                     "7662667", "7665667", "7666667", "7668667", "7669667", "7674767", "7681867",
                                     "7690967", "7693967", "7696967", "7715177", "7718177", "7722277", "7729277",
                                     "7733377", "7742477", "7747477", "7750577", "7758577", "7764677", "7772777",
                                     "7774777", "7778777", "7782877", "7783877", "7791977", "7794977", "7807087",
                                     "7819187", "7820287", "7821287", "7831387", "7832387", "7838387", "7843487",
                                     "7850587", "7856587", "7865687", "7867687", "7868687", "7873787", "7884887",
                                     "7891987", "7897987", "7913197", "7916197", "7930397", "7933397", "7935397",
                                     "7938397", "7941497", "7943497", "7949497", "7957597", "7958597", "7960697",
                                     "7977797", "7984897", "7985897", "7987897", "7996997", "9002009", "9015109",
                                     "9024209", "9037309", "9042409", "9043409", "9045409", "9046409", "9049409",
                                     "9067609", "9073709", "9076709", "9078709", "9091909", "9095909", "9103019",
                                     "9109019", "9110119", "9127219", "9128219", "9136319", "9149419", "9169619",
                                     "9173719", "9174719", "9179719", "9185819", "9196919", "9199919", "9200029",
                                     "9209029", "9212129", "9217129", "9222229", "9223229", "9230329", "9231329",
                                     "9255529", "9269629", "9271729", "9277729", "9280829", "9286829", "9289829",
                                     "9318139", "9320239", "9324239", "9329239", "9332339", "9338339", "9351539",
                                     "9357539", "9375739", "9384839", "9397939", "9400049", "9414149", "9419149",
                                     "9433349", "9439349", "9440449", "9446449", "9451549", "9470749", "9477749",
                                     "9492949", "9493949", "9495949", "9504059", "9514159", "9526259", "9529259",
                                     "9547459", "9556559", "9558559", "9561659", "9577759", "9583859", "9585859",
                                     "9586859", "9601069", "9602069", "9604069", "9610169", "9620269", "9624269",
                                     "9626269", "9632369", "9634369", "9645469", "9650569", "9657569", "9670769",
                                     "9686869", "9700079", "9709079", "9711179", "9714179", "9724279", "9727279",
                                     "9732379", "9733379", "9743479", "9749479", "9752579", "9754579", "9758579",
                                     "9762679", "9770779", "9776779", "9779779", "9781879", "9782879", "9787879",
                                     "9788879", "9795979", "9801089", "9807089", "9809089", "9817189", "9818189",
                                     "9820289", "9822289", "9836389", "9837389", "9845489", "9852589", "9871789",
                                     "9888889", "9889889", "9896989", "9902099", "9907099", "9908099", "9916199",
                                     "9918199", "9919199", "9921299", "9923299", "9926299", "9927299", "9931399",
                                     "9932399", "9935399", "9938399", "9957599", "9965699", "9978799", "9980899",
                                     "9981899", "9989899"};

int main(int argc, char const *argv[]) {
   int startPoint, endPoint;
   cin >> startPoint >> endPoint;
//    遍历数组
   for (int i = 0; i < 790; ++i) {
//        先把 string 转换为 long long,再判断在不在区间内
       if (stoll(pri_palNumber[i], nullptr, 10) >= startPoint
           && stoll(pri_palNumber[i], nullptr, 10) <= endPoint) {
//            符合条件就输出
           cout << pri_palNumber[i] << endl;
       }
   }
   return 0;
}

python 代码如下:

from math import sqrt

outputData = open(r'/Users/billyfa/CLionProjects/luogu_USACO_回文质数/打表.txt',
                  mode='w')


def ispalindrome(tarnumber):
    while tarnumber <= 0 or tarnumber % 10 == 0:
        return False
    revflag = 0
    while tarnumber > revflag:
        revflag = revflag * 10 + tarnumber % 10
        tarnumber //= 10
    return tarnumber == revflag or tarnumber == revflag // 10


def isprimenumber(tarnumber):
    if tarnumber <= 3:
        return tarnumber > 1
    _sqrt = int(sqrt(tarnumber))
    for i in range(2, _sqrt):
        if tarnumber % i == 0:
            return False
    return True


for i in range(0, 100000001):
    if ispalindrome(i) and isprimenumber(i):
        outputData.write('"')
        outputData.write(str(i))
        outputData.write('", ')
outputData.close()

请问问题出在哪?谢谢啦!!!

2022/7/21 23:38
加载中...