大佬救救,为什么和样例输出一样,输入样例的值都不对

P1217 [USACO1.5] 回文质数 Prime Palindromes

Amount789 @ 2024-11-20 14:12:07

#include <bits/stdc++.h>
#include <string>
using namespace std;
bool judge_sushu(int num)
{
  if (num == 1)
    return false;
  for (int i = 2; i <= sqrt(num); i++)
  {
    if (num % i == 0)
    {
      return false;
    }
  }
  return true;
}
bool judge_huiwen(string str)
{
  int length = str.length();
  if (length == 1)
  {
    return true;
  }
  else
  {
    int head = 0;
    int tail = length - 1;
    int count = 0;
    if (length % 2 == 0)
    {
      if (str[head] == str[tail])
      {
        while (head != (length / 2))
        {
          head++;
          tail--;
          if (str[head] == str[tail])
            count++;
        }
        if (count == length / 2)
          return true;
          else return false;
      }
    }
    if (length % 2 != 0)
    {
      if (str[head] == str[tail])
      {
        while(head< (length / 2)-1)
        {
          head++;
          tail--;
          if(str[head]==str[tail])
            count++;
        }
        if(count==(length/2)-1)
        {
          return true;
        }
        else
        return false;

      }
    }
  }
}
void all_number(int num1, int num2)
{
  for(int i=num1;i<=num2;i++)
  {
    string str = to_string(i);
        if(judge_huiwen(str))
          {  
            if(judge_sushu(i))
              cout <<i<< endl;
          }
  }
}
int main()
{
  int a, b;
  cin>>a>>b;
  all_number(a,b);
}

by Amount789 @ 2024-11-20 14:13:42

这是输入5 100000000的结果 5 7 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929 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 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 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


by fightCXT123 @ 2024-11-20 21:23:22

既然结果都有了为什么不打表呢?


by fightCXT123 @ 2024-11-20 21:25:16

我的第一道用打表AC的题:

#include <bits/stdc++.h>
using namespace std;

const int n = 779;
int a, b;
int db[] = 
{
5, 7, 11, 101, 131, 151, 181, 191, 313, 353, 
373, 383, 727, 757, 787, 797, 919, 929, 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, 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, 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()
{
    cin >> a >> b;
    for (int i = 0; i < n; i++)
    {
        if (db[i] < a || db[i] > b)
            continue;
        cout << db[i] << endl;
    }
    return 0;
}

|