新手村之过程函数与递归

来源:互联网 发布:淘宝药品需求清单 编辑:程序博客网 时间:2024/05/16 14:22

前言:前言君以被代码击杀。
P1028 数的计算 代码:
总:递归。

const maxn=1000;var  i,n:longint;  a:array [1..maxn] of longint;procedure dfs(m:longint);var  i:longint;begin  if a[m]<>-1 then exit;  a[m]:=1;  for i:=1 to m div 2 do    begin      dfs(i);      inc(a[m],a[i]);    end;end;begin  readln(n);  for i:=1 to n do    a[i]:=-1;  dfs(n);  write(a[n]);end.

P1036 选数 代码:

var  a:array[1..23]of longint;  n,m,count:longint;  flag:array[1..23]of boolean;procedure init;var  i,j,g:longint;begin  readln(n,m);  for i:=1 to n do    read(a[i]);  for i:=1 to n-1 do    for j:=i+1 to n do      if a[j]<a[i] then        begin          g:=a[i]; a[i]:=a[j]; a[j]:=g;        end;  fillchar(flag,sizeof(flag),false);end;function comp(n:longint):boolean;var  i:longint;begin  comp:=true;  for i:=2 to round(sqrt(n)) do    if n mod i=0 then      exit(false);  exit(true);end;procedure dfs(f,num,ans:longint);var  i:longint;begin  if f>m then    begin      if comp(ans) then inc(count);      exit;    end;  for i:=num+1 to n do    if flag[i]=false then      begin        flag[i]:=true;        dfs(f+1,i,ans+a[i]);        flag[i]:=false;      end;end;begin  init;  dfs(1,0,0);  writeln(count);end.

P1149 火柴棒等式 代码:
总:暴力打表。

const  a:array[13..24]of integer =(1,2,8,9,6,9,29,39,38,65,88,128);var  n:integer;begin  readln(n);  if n<13 then writeln(0)          else writeln(a[n]);end.

P1217 [USACO1.5]回文质数 Prime Palindromes
总:看前言。

var  a:array [0..1001] of longint;  i,n,m:longint;procedure init;begina[1]:=1; a[2]:=2; a[3]:=3; a[4]:=5; a[5]:=7; a[6]:=11; a[7]:=101; a[8]:=131; a[9]:=151; a[10]:=181; a[11]:=191; a[12]:=313; a[13]:=353; a[14]:=373; a[15]:=383; a[16]:=727; a[17]:=757; a[18]:=787; a[19]:=797; a[20]:=919; a[21]:=929; a[22]:=10301;     a[24]:=10601; a[25]:=11311; a[26]:=11411; a[27]:=12421;     a[28]:=12721; a[29]:=12821; a[30]:=13331; a[31]:=13831;     a[32]:=13931; a[33]:=14341; a[34]:=14741; a[35]:=15451     ; a[36]:=15551; a[37]:=16061; a[38]:=16361; a[39]:=16561;     a[40]:=16661; a[41]:=17471; a[42]:=17971; a[43]:=18181; a[44]:=18481; a[45]:=19391; a[46]:=19891; a[47]:=19991; a[48]:=30103; a[49]:=30203; a[50]:=30403; a[51]:=30703; a[52]:=30803; a[53]:=31013; a[54]:=31513; a[55]:=32323; a[56]:=32423; a[57]:=33533; a[58]:=34543; a[59]:=34843; a[60]:=35053; a[61]:=35153; a[62]:=35353; a[63]:=35753; a[64]:=36263; a[65]:=36563; a[66]:=37273; a[67]:=37573; a[68]:=38083; a[69]:=38183; a[70]:=38783; a[71]:=39293; a[72]:=70207; a[73]:=70507; a[74]:=70607; a[75]:=71317; a[76]:=71917; a[77]:=72227; a[78]:=72727; a[79]:=73037; a[80]:=73237; a[81]:=73637; a[82]:=74047; a[83]:=74747; a[84]:=75557; a[85]:=76367; a[86]:=76667; a[87]:=77377; a[88]:=77477; a[89]:=77977; a[90]:=78487; a[91]:=78787; a[92]:=78887; a[93]:=79397; a[94]:=79697; a[95]:=79997; a[96]:=90709; a[97]:=91019; a[98]:=93139; a[99]:=93239; a[100]:=93739; a[101]:=94049; a[102]:=94349; a[103]:=94649; a[104]:=94849; a[105]:=94949; a[106]:=95959; a[107]:=96269; a[108]:=96469; a[109]:=96769; a[110]:=97379; a[111]:=97579; a[112]:=97879;    a[114]:=98689; a[115]:=1003001; a[116]:=1008001; a[117]:=1022201;    a[118]:=1028201; a[119]:=1035301; a[120]:=1043401; a[121]:=1055501;    a[122]:=1062601; a[123]:=1065601; a[124]:=1074701; a[125]:=1082801;    a[126]:=1085801; a[127]:=1092901; a[128]:=1093901; a[129]:=1114111; a[130]:=1117111; a[131]:=1120211; a[132]:=1123211; a[133]:=1126211; a[134]:=1129211; a[135]:=1134311; a[136]:=1145411; a[137]:=1150511; a[138]:=1153511; a[139]:=1160611; a[140]:=1163611; a[141]:=1175711; a[142]:=1177711; a[143]:=1178711; a[144]:=1180811; a[145]:=1183811; a[146]:=1186811; a[147]:=1190911; a[148]:=1193911; a[149]:=1196911; a[150]:=1201021; a[151]:=1208021; a[152]:=1212121; a[153]:=1215121; a[154]:=1218121; a[155]:=1221221; a[156]:=1235321; a[157]:=1242421; a[158]:=1243421; a[159]:=1245421; a[160]:=1250521; a[161]:=1253521; a[162]:=1257521; a[163]:=1262621; a[164]:=1268621; a[165]:=1273721; a[166]:=1276721; a[167]:=1278721; a[168]:=1280821; a[169]:=1281821; a[170]:=1286821; a[171]:=1287821; a[172]:=1300031; a[173]:=1303031; a[174]:=1311131; a[175]:=1317131; a[176]:=1327231; a[177]:=1328231; a[178]:=1333331; a[179]:=1335331; a[180]:=1338331; a[181]:=1343431; a[182]:=1360631; a[183]:=1362631; a[184]:=1363631; a[185]:=1371731; a[186]:=1374731; a[187]:=1390931; a[188]:=1407041; a[189]:=1409041; a[190]:=1411141; a[191]:=1412141; a[192]:=1422241; a[193]:=1437341; a[194]:=1444441; a[195]:=1447441; a[196]:=1452541; a[197]:=1456541; a[198]:=1461641; a[199]:=1463641; a[200]:=1464641; a[201]:=1469641; a[202]:=1486841; a[203]:=1489841; a[204]:=1490941; a[205]:=1496941; a[206]:=1508051; a[207]:=1513151; a[208]:=1520251; a[209]:=1532351; a[210]:=1535351; a[211]:=1542451; a[212]:=1548451; a[213]:=1550551; a[214]:=1551551; a[215]:=1556551; a[216]:=1557551; a[217]:=1565651; a[218]:=1572751; a[219]:=1579751; a[220]:=1580851; a[221]:=1583851; a[222]:=1589851; a[223]:=1594951; a[224]:=1597951; a[225]:=1598951; a[226]:=1600061; a[227]:=1609061; a[228]:=1611161; a[229]:=1616161; a[230]:=1628261; a[231]:=1630361; a[232]:=1633361; a[233]:=1640461; a[234]:=1643461; a[235]:=1646461; a[236]:=1654561; a[237]:=1657561; a[238]:=1658561; a[239]:=1660661; a[240]:=1670761; a[241]:=1684861; a[242]:=1685861; a[243]:=1688861; a[244]:=1695961; a[245]:=1703071; a[246]:=1707071; a[247]:=1712171; a[248]:=1714171; a[249]:=1730371; a[250]:=1734371; a[251]:=1737371; a[252]:=1748471; a[253]:=1755571; a[254]:=1761671; a[255]:=1764671; a[256]:=1777771; a[257]:=1793971; a[258]:=1802081; a[259]:=1805081; a[260]:=1820281; a[261]:=1823281; a[262]:=1824281; a[263]:=1826281; a[264]:=1829281; a[265]:=1831381; a[266]:=1832381; a[267]:=1842481; a[268]:=1851581; a[269]:=1853581; a[270]:=1856581; a[271]:=1865681 ; a[272]:=1876781; a[273]:=1878781; a[274]:=1879781; a[275]:=1880881; a[276]:=1881881; a[277]:=1883881; a[278]:=1884881; a[279]:=1895981; a[280]:=1903091; a[281]:=1908091; a[282]:=1909091; a[283]:=1917191; a[284]:=1924291; a[285]:=1930391; a[286]:=1936391; a[287]:=1941491; a[288]:=1951591; a[289]:=1952591; a[290]:=1957591; a[291]:=1958591; a[292]:=1963691; a[293]:=1968691; a[294]:=1969691; a[295]:=1970791; a[296]:=1976791; a[297]:=1981891; a[298]:=1982891; a[299]:=1984891; a[300]:=1987891; a[301]:=1988891; a[302]:=1993991; a[303]:=1995991; a[304]:=1998991; a[305]:=3001003; a[306]:=3002003; a[307]:=3007003; a[308]:=3016103; a[309]:=3026203; a[310]:=3064603; a[311]:=3065603; a[312]:=3072703; a[313]:=3073703; a[314]:=3075703; a[315]:=3083803; a[316]:=3089803; a[317]:=3091903; a[318]:=3095903; a[319]:=3103013; a[320]:=3106013; a[321]:=3127213; a[322]:=3135313; a[323]:=3140413; a[324]:=3155513; a[325]:=3158513; a[326]:=3160613; a[327]:=3166613; a[328]:=3181813; a[329]:=3187813; a[330]:=3193913; a[331]:=3196913; a[332]:=3198913; a[333]:=3211123; a[334]:=3212123; a[335]:=3218123; a[336]:=3222223; a[337]:=3223223; a[338]:=3228223; a[339]:=3233323; a[340]:=3236323; a[341]:=3241423; a[342]:=3245423; a[343]:=3252523; a[344]:=3256523; a[345]:=3258523; a[346]:=3260623; a[347]:=3267623; a[348]:=3272723; a[349]:=3283823; a[350]:=3285823; a[351]:=3286823; a[352]:=3288823; a[353]:=3291923; a[354]:=3293923; a[355]:=3304033; a[356]:=3305033; a[357]:=3307033; a[358]:=3310133; a[359]:=3315133; a[360]:=3319133; a[361]:=3321233; a[362]:=3329233; a[363]:=3331333; a[364]:=3337333; a[365]:=3343433; a[366]:=3353533; a[367]:=3362633; a[368]:=3364633; a[369]:=3365633; a[370]:=3368633; a[371]:=3380833; a[372]:=3391933; a[373]:=3392933; a[374]:=3400043; a[375]:=3411143; a[376]:=3417143; a[377]:=3424243; a[378]:=3425243; a[379]:=3427243; a[380]:=3439343; a[381]:=3441443; a[382]:=3443443; a[383]:=3444443; a[384]:=3447443; a[385]:=3449443; a[386]:=3452543; a[387]:=3460643; a[388]:=3466643; a[389]:=3470743; a[390]:=3479743; a[391]:=3485843; a[392]:=3487843; a[393]:=3503053; a[394]:=3515153; a[395]:=3517153; a[396]:=3528253; a[397]:=3541453; a[398]:=3553553; a[399]:=3558553; a[400]:=3563653; a[401]:=3569653; a[402]:=3586853; a[403]:=3589853; a[404]:=3590953; a[405]:=3591953; a[406]:=3594953; a[407]:=3601063; a[408]:=3607063; a[409]:=3618163; a[410]:=3621263; a[411]:=3627263; a[412]:=3635363; a[413]:=3643463; a[414]:=3646463; a[415]:=3670763; a[416]:=3673763; a[417]:=3680863; a[418]:=3689863; a[419]:=3698963; a[420]:=3708073; a[421]:=3709073 ; a[422]:=3716173; a[423]:=3717173; a[424]:=3721273; a[425]:=3722273; a[426]:=3728273; a[427]:=3732373; a[428]:=3743473; a[429]:=3746473; a[430]:=3762673; a[431]:=3763673; a[432]:=3765673; a[433]:=3768673; a[434]:=3769673; a[435]:=3773773; a[436]:=3774773; a[437]:=3781873; a[438]:=3784873; a[439]:=3792973; a[440]:=3793973; a[441]:=3799973; a[442]:=3804083; a[443]:=3806083; a[444]:=3812183; a[445]:=3814183; a[446]:=3826283; a[447]:=3829283; a[448]:=3836383; a[449]:=3842483; a[450]:=3853583; a[451]:=3858583; a[452]:=3863683; a[453]:=3864683; a[454]:=3867683; a[455]:=3869683; a[456]:=3871783; a[457]:=3878783; a[458]:=3893983; a[459]:=3899983; a[460]:=3913193; a[461]:=3916193; a[462]:=3918193; a[463]:=3924293; a[464]:=3927293; a[465]:=3931393; a[466]:=3938393; a[467]:=3942493; a[468]:=3946493; a[469]:=3948493; a[470]:=3964693; a[471]:=3970793; a[472]:=3983893; a[473]:=3991993; a[474]:=3994993; a[475]:=3997993; a[476]:=3998993; a[477]:=7014107; a[478]:=7035307; a[479]:=7036307; a[480]:=7041407; a[481]:=7046407; a[482]:=7057507; a[483]:=7065607; a[484]:=7069607; a[485]:=7073707; a[486]:=7079707; a[487]:=7082807; a[488]:=7084807; a[489]:=7087807; a[490]:=7093907; a[491]:=7096907; a[492]:=7100017; a[493]:=7114117; a[494]:=7115117; a[495]:=7118117; a[496]:=7129217; a[497]:=7134317; a[498]:=7136317; a[499]:=7141417; a[500]:=7145417 ; a[501]:=7155517; a[502]:=7156517; a[503]:=7158517; a[504]:=7159517; a[505]:=7177717; a[506]:=7190917; a[507]:=7194917; a[508]:=7215127; a[509]:=7226227; a[510]:=7246427; a[511]:=7249427; a[512]:=7250527; a[513]:=7256527; a[514]:=7257527; a[515]:=7261627; a[516]:=7267627; a[517]:=7276727; a[518]:=7278727; a[519]:=7291927; a[520]:=7300037; a[521]:=7302037; a[522]:=7310137; a[523]:=7314137; a[524]:=7324237; a[525]:=7327237; a[526]:=7347437; a[527]:=7352537; a[528]:=7354537; a[529]:=7362637; a[530]:=7365637; a[531]:=7381837; a[532]:=7388837; a[533]:=7392937; a[534]:=7401047; a[535]:=7403047; a[536]:=7409047; a[537]:=7415147; a[538]:=7434347; a[539]:=7436347; a[540]:=7439347; a[541]:=7452547; a[542]:=7461647; a[543]:=7466647; a[544]:=7472747; a[545]:=7475747; a[546]:=7485847; a[547]:=7486847; a[548]:=7489847; a[549]:=7493947; a[550]:=7507057; a[551]:=7508057; a[552]:=7518157; a[553]:=7519157; a[554]:=7521257; a[555]:=7527257; a[556]:=7540457; a[557]:=7562657; a[558]:=7564657; a[559]:=7576757; a[560]:=7586857; a[561]:=7592957; a[562]:=7594957; a[563]:=7600067; a[564]:=7611167; a[565]:=7619167; a[566]:=7622267; a[567]:=7630367; a[568]:=7632367; a[569]:=7644467; a[570]:=7654567; a[571]:=7662667; a[572]:=7665667; a[573]:=7666667; a[574]:=7668667; a[575]:=7669667; a[576]:=7674767; a[577]:=7681867; a[578]:=7690967; a[579]:=7693967; a[580]:=7696967; a[581]:=7715177; a[582]:=7718177; a[583]:=7722277; a[584]:=7729277; a[585]:=7733377; a[586]:=7742477; a[587]:=7747477; a[588]:=7750577; a[589]:=7758577; a[590]:=7764677; a[591]:=7772777; a[592]:=7774777; a[593]:=7778777; a[594]:=7782877; a[595]:=7783877; a[596]:=7791977; a[597]:=7794977; a[598]:=7807087; a[599]:=7819187; a[600]:=7820287; a[601]:=7821287; a[602]:=7831387; a[603]:=7832387; a[604]:=7838387; a[605]:=7843487; a[606]:=7850587; a[607]:=7856587; a[608]:=7865687; a[609]:=7867687; a[610]:=7868687; a[611]:=7873787; a[612]:=7884887; a[613]:=7891987; a[614]:=7897987; a[615]:=7913197; a[616]:=7916197; a[617]:=7930397; a[618]:=7933397; a[619]:=7935397; a[620]:=7938397; a[621]:=7941497; a[622]:=7943497; a[623]:=7949497; a[624]:=7957597; a[625]:=7958597; a[626]:=7960697; a[627]:=7977797; a[628]:=7984897; a[629]:=7985897; a[630]:=7987897; a[631]:=7996997; a[632]:=9002009; a[633]:=9015109; a[634]:=9024209; a[635]:=9037309; a[636]:=9042409; a[637]:=9043409; a[638]:=9045409; a[639]:=9046409; a[640]:=9049409; a[641]:=9067609; a[642]:=9073709; a[643]:=9076709; a[644]:=9078709; a[645]:=9091909; a[646]:=9095909;a[647]:=9103019; a[648]:=9109019; a[649]:=9110119; a[650]:=9127219; a[651]:=9128219; a[652]:=9136319; a[653]:=9149419; a[654]:=9169619; a[655]:=9173719; a[656]:=9174719; a[657]:=9179719; a[658]:=9185819; a[659]:=9196919; a[660]:=9199919; a[661]:=9200029; a[662]:=9209029; a[663]:=9212129; a[664]:=9217129; a[665]:=9222229; a[666]:=9223229; a[667]:=9230329; a[668]:=9231329; a[669]:=9255529; a[670]:=9269629; a[671]:=9271729; a[672]:=9277729; a[673]:=9280829; a[674]:=9286829; a[675]:=9289829; a[676]:=9318139; a[677]:=9320239; a[678]:=9324239; a[679]:=9329239; a[680]:=9332339 ; a[681]:=9338339; a[682]:=9351539; a[683]:=9357539; a[684]:=9375739; a[685]:=9384839; a[686]:=9397939; a[687]:=9400049; a[688]:=9414149; a[689]:=9419149; a[690]:=9433349; a[691]:=9439349; a[692]:=9440449; a[693]:=9446449; a[694]:=9451549; a[695]:=9470749; a[696]:=9477749; a[697]:=9492949; a[698]:=9493949; a[699]:=9495949; a[700]:=9504059; a[701]:=9514159; a[702]:=9526259; a[703]:=9529259; a[704]:=9547459; a[705]:=9556559; a[706]:=9558559; a[707]:=9561659; a[708]:=9577759; a[709]:=9583859; a[710]:=9585859; a[711]:=9586859; a[712]:=9601069; a[713]:=9602069; a[714]:=9604069; a[715]:=9610169; a[716]:=9620269; a[717]:=9624269; a[718]:=9626269; a[719]:=9632369; a[720]:=9634369; a[721]:=9645469; a[722]:=9650569; a[723]:=9657569; a[724]:=9670769; a[725]:=9686869; a[726]:=9700079; a[727]:=9709079; a[728]:=9711179; a[729]:=9714179; a[730]:=9724279; a[731]:=9727279; a[732]:=9732379; a[733]:=9733379; a[734]:=9743479; a[735]:=9749479; a[736]:=9752579; a[737]:=9754579; a[738]:=9758579; a[739]:=9762679; a[740]:=9770779; a[741]:=9776779; a[742]:=9779779; a[743]:=9781879; a[744]:=9782879; a[745]:=9787879; a[746]:=9788879; a[747]:=9795979; a[748]:=9801089; a[749]:=9807089; a[750]:=9809089; a[751]:=9817189; a[752]:=9818189; a[753]:=9820289; a[754]:=9822289; a[755]:=9836389; a[756]:=9837389; a[757]:=9845489; a[758]:=9852589; a[759]:=9871789; a[760]:=9888889; a[761]:=9889889; a[762]:=9896989; a[763]:=9902099; a[764]:=9907099; a[765]:=9908099; a[766]:=9916199; a[767]:=9918199; a[768]:=9919199; a[769]:=9921299; a[770]:=9923299; a[771]:=9926299; a[772]:=9927299; a[773]:=9931399; a[774]:=9932399; a[775]:=9935399; a[776]:=9938399; a[777]:=9957599; a[778]:=9965699; a[779]:=9978799; a[780]:=9980899; a[781]:=9981899; a[782]:=9989899; a[23]:=10501;  a[113]:=98389;end;begin  readln(n,m);  init;  for i:=1 to 1000 do    if (a[i]>=n) and (a[i]<=m) then      writeln(a[i]);end.
0 0