这个题只能打表吗?

有没有别的办法?

const

huisu:array[1..779]of longint=(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);

var

i,n,m:longint;

begin

read(n,m);

for i:=1 to 779 do

if (huisu[i]=n) then writeln(huisu[i]);

end.

6 条评论

  • @ 2013-08-08 11:46:15

    var sum,t,i,j,n,m:longint;
    function check(t:longint):boolean;
    var i,j:longint;
    begin
    check:=true;
    for i:=2 to trunc(sqrt(t)) do
    if t mod i=0 then exit(false);
    end;
    Begin
    readln(m,n);
    for i:=2 to 11 do
    if (i>=m) and (i<=n) then
    if check(i) then writeln(i);
    for i:=10 to 9999 do
    begin
    if (10<=i) and (i<=99) then
    t:=i*10+i div 10;
    if (100<=i) and (i<=999) then
    t:=i*100+((i div 10) mod 10)*10+i div 100;
    if (1000<=i) and (i<=9999) then
    t:=i*1000+((i div 10) mod 10)*100+((i div 100) mod 10)*10+i div 1000;
    if (t>=m) and (t<=n) then
    if check(t) then writeln(t);
    if (10<=i) and (i<=99) then
    t:=i*100+(i mod 10)*10+i div 10;
    if (100<=i) and (i<=999) then
    t:=i*1000+(i mod 10)*100+((i div 10) mod 10)*10+i div 100;
    if (1000<=i) and (i<=9999) then
    t:=i*10000+(i mod 10)*1000+((i div 10) mod 10)*100+((i div 100) mod 10)*10
    +i div 1000;
    if (t>=m) and (t<=n) then
    if check(t) then writeln(t);
    end;
    end.

  • @ 2009-10-22 13:17:06

    p1042

    var i,m,n,a,l:longint;

    s:string;

    function pd(c:longint):boolean;

    var i:longint;

    begin

    pd:=true;

    for i:=2 to trunc(sqrt(c)) do

    if c mod i=0 then

    begin

    pd:=false;

    exit;

    end;

    end;

    begin

    readln(m,n);

    if n>9989899 then n:=9989899;

    for i:=m to n do

    begin

    if (i div 30) and (i div 50) and odd(i) then

    begin

    str(i,s);

    m:=length(s);

    l:=m div 2;

    for n:=1 to (m div 2) do

    if s[n]=s[m-n+1] then dec(l);

    if l=0 then val(s,a);

    if (l=0) and pd(a) then

    begin

    inc(a);

    writeln(s);

    end;

    end;

    end;

    end.

  • @ 2009-09-08 18:47:11

    不打表的,可是就90分,最后一个过不了。

    program p1042;

    var

    m,n,i:longint;

    flag:boolean;

    procedure sushu(p:longint);

    var

    j1:longint;

    flag1:boolean;

    begin

    flag1:=true;

    for j1:=2 to round(sqrt(p)) do

    if (p mod j1)=0 then begin

    flag1:=false;

    break;

    end;

    if flag1=true then writeln(p);

    end;

    procedure hws(q:longint);

    var

    j:string;

    k1,k2:longint;

    begin

    str(q,j);

    k2:=length(j);

    for k1:=1 to (length(j)div 2) do begin

    if (j[k1]j[k2]) then begin

    flag:=false;

    break;

    end;

    k2:=k2-1;

    end;

    if flag=true then sushu(q);

    end;

    begin

    read(m,n);

    for i:=m to n do

    begin

    flag:=true;

    hws(i);

    end;

    end.

  • @ 2009-07-06 14:13:04

    。。。

    不是的啊,可以先构造回文数,然后判断下就行了啊

  • @ 2009-07-06 13:00:49

    打表是好方法……

    打表真的是好方法=_+||……

  • @ 2009-07-06 10:44:58

    var i,n,m:longint;

    function hw(i:longint):boolean;

    var st:string;

    j:integer;

    begin

    str(i,st);

    j:=length(st);

    for i:= 1 to j div 2 do

    if st[i] st[j+1-i] then exit(false);

    exit(true);

    end;

    function shu(i:longint):boolean;

    var j:longint;

    begin

    for j:= 2 to trunc(sqrt(i)) do if i mod j = 0 then exit(false);

    exit(true);

    end;

    function check(i:longint):boolean;

    begin

    if not hw(i) then exit(false);

    if not shu(i) then exit(false);

    exit(true);

    end;

    begin

    readln(n,m);

    i:=n;

    while i 100 ) and ( i < 999 )) then

    if check(i) then writeln(i);

    if (( i > 10000) and ( i < 99999 )) then

    if check(i) then writeln(i);

    if (( i > 1000000) and ( i < 9999999 )) then

    if check(i) then writeln(i);

    if (( i > 100000000) and ( i < 999999999 )) then

    if check(i) then writeln(i);

    if (( i > 11 ) and ( i < 99 )) then i:=99;

    if (( i > 1000 ) and ( i < 9999 )) then i:=9999;

    if (( i > 100000 ) and ( i < 999999 )) then i:=999999;

    if (( i > 10000000 ) and ( i < 99999999 )) then i:=99999999;

    end;

    inc(i);

    end;

    end.

    事实证明 烦琐的答案有烦琐的好处

    ((用 Repeat 为什么超了呢? ))

  • 1

信息

ID
1042
难度
7
分类
搜索 | 搜索与剪枝 点击显示
标签
(无)
递交数
6601
已通过
1521
通过率
23%
被复制
13
上传者