ma super idee programmer comme un porc.. =) - C++ - Programmation
Marsh Posté le 21-01-2003 à 02:35:27
HappyHarry a écrit : tu veux pas utiliser GMP ? |
je peus pas. je vais pas rendre au prof une disquette qui contient une librairy specifique, je fais qvce cce que je connais ou du moins ce qui disponible.
sinon les problemes de caracteres zarbs sa vient dou ?
Marsh Posté le 21-01-2003 à 02:46:43
euh ... joker, j'ai pas envie de lire ca a cette heure ci, désolé
par contre itoa est pas trop standard ...
Marsh Posté le 21-01-2003 à 03:10:09
De façon plus élégante.
Soit n le nombre à tester.
Tu détermines d'abord quelle est la plus grande puissance de 10 inférieure à n. Appelons la p.
1- Soit a = n % 10
2- Soit b = n / p
3- Si a == b,
p = p / 10
n = (n / 10) % p
on repart en 1
Sinon, le nombre n'est pas un palindrôme.
On arrête lorsque n est inférieur à 10. Dans ce cas le nombre est un palindrome.
Cette méthode n'utilise jamais de nombre plus grand que le nombre de départ, ce qui garantit qu'on ne débordera jamais. Attention cependant à la détection de la puissance de 10 supérieure, faire une comparaison entre la puissance de 10 et le nombre peut mener à une boucle infinie si on en vient à manipuler une puissance qui ne rentre pas dans le format d'entier utilisé.
Il n'y a pas de conversion, ni de fonctions qui dépendent de la représentation du nombre en mémoire.
Pour ceux qui rament : l'algorithme extrait de n le premier et le dernier digit, puis les compare. S'ils sont identiques, le nombre de départ est "tronqué" par un modulo et une division entière, et on réitère le processus.
A noter que l'algo peut être généralisé à n'importe quelle base assez facilement.
Marsh Posté le 21-01-2003 à 03:21:01
KrisCool a écrit : De façon plus élégante. |
ok, mais avec ce que j ai fait plus haut n imporet que l nombre peut etre additionner, inverser a plus millions de caracters.
char [x] en fait.
Marsh Posté le 23-01-2003 à 03:46:20
Citation :
|
Explique moi:
-Ce que c'est censé être.
-Ce qu'en pense ton compilateur.
Parce que un tableau de taille nulle, c'est pas permis.
Citation :
|
Tu remplis d'abord save, pour ensuite le remplir...
Et puis il y a plus simple:
Code :
|
Problèmes:
Tu additionnes les chiffres de la gauche vers la droite... la retenue va dans le mauvais sens !
Tu ajoutes la retenue après le test de somme>9. Tu peux donc avoir le 'chiffre' 9+1= 10.
Tu ne mets pas la retenue à 0 dans le else !
Pas explicites tes noms.
Comment veux-tu voir les erreurs ?
b -> nbr_nor |
Tous les autres à la poubelle.
Je propose:
Code :
|
Marsh Posté le 23-01-2003 à 03:59:43
j ai fait ca depuis, sa narche , pour 196 je me suis entraun de calculer 100000 iterations.
Code :
|
Marsh Posté le 23-01-2003 à 11:01:52
Il y a encore de la marge pour l'optimisation,
je crois qu'on peut supprimer encore des operations inutiles..
Ceci dit si le probleme est insoluble, faire un programme plus rapide pour qu'il tourne a l'infini c'est pas vraiment un gain .
Code :
|
Marsh Posté le 23-01-2003 à 11:30:54
merci, un jour peut etre je programerai comme ca. =)
c vrai que mon premier essai etait merdeux a souhait.
sinon a 100000 iteratio0nbs de 196 je tombe sur un chiffre a 40000 digits, ce qui me prend 15 min sur mon paicai, ce qui est bizzard c qu il chauffe a peine
Marsh Posté le 24-01-2003 à 09:11:04
Dans bool palindrome:
Code :
|
/2, moitié moins de comparaisons, c'est pas négligeable.
shiftString ne me semble pas nécessaire.
Il suffit, dans process, de remplacer les chiffres-nombre par des chiffres-lettres:
Code :
|
Mais c'est vrai que ce n'est fait qu'une fois...
Marsh Posté le 24-01-2003 à 10:04:43
COULIX a écrit : voila le problem, je dois faire un prog qui recherche les nombres palindrome ( ex : 3223 ).0 |
Je comprends pas ce que tu veux faire.
tu lui entres 17 et il te dit que 88 est un palindrome... bah forcément. Mais si l'addition des chiffres crée des retenues ça marche plus. Et il ya beaucoup plus simple pour générer une liste de palindrome.
Si en tu veux un programme qui te dise si le nombre entré esf un palindrome (ce n'est pas le cas ici puisque 17 n'est pas unpalidrome) et ben faut pas faire comme ça à mon avis.
Le plus simple c'est la comparaison chiffre à chiffre (case à case.
J'ai trouvé cette page peut etre interessante pour toi:
http://membres.lycos.fr/villeminge [...] alCube.htm
Marsh Posté le 24-01-2003 à 10:08:06
Citation : Si en tu veux un programme qui te dise si le nombre entré esf un palindrome (ce n'est pas le cas ici puisque 17 n'est pas unpalidrome) et ben faut pas faire comme ça à mon avis. |
Toi tu n'as pas compris le probleme apparemment.
va visiter le site qui est donne en lien dans le code.
LeGreg
Marsh Posté le 24-01-2003 à 10:21:03
ah ok.
C'est vrai que je n'avais lu que son post et parcouru les autres et c'était vraiment pas clair pour moi ...
Désolé pour mon intervention.
J'ai lu vite fait la page (encore une fois je suis peut etre allé trop vite). C'est bizarre qu'il n'y ait pas de preuve que ça marche à chaque fois. Ca parait assez "évident", ou du moins on voit assez bien ce qui se passe.
Marsh Posté le 24-01-2003 à 10:26:34
Citation : palindrome:
/2, moitié moins de comparaisons, c'est pas négligeable. |
Yep mais comme il etait tard pour moi j'ai pas pris le temps de l'ecrire . ("Oh l'autre.." )
Citation : shiftString ne me semble pas nécessaire.
Mais c'est vrai que ce n'est fait qu'une fois... |
Ton code est incorrect ou alors je ne le comprends pas..
Qu'est-ce qui est code dans input des chiffres ascii (entre '0' et '9' ou des chiffres nombres ( entre '\0' et'\9' ?
Le but de shiftstring et antishiftstring c'etait de reduire (un tout petit peu) le nombre d'operations inutiles et c'etait une maniere de le faire. J'ai egalement reduit dramatiquement le nombre de variables temporaires inutiles. Il existe d'autres facons certes et c'aurait ete surement plus rapide si les nombres
etaient codes en hexadecimal mais bon la je digresse
A+
LeGreg
Marsh Posté le 24-01-2003 à 10:31:57
exemple en hexadecimal:
196 -> 827
827 -> E4E
196 est de degre 2 en hexadecimal
LeGreg
Marsh Posté le 25-01-2003 à 00:38:37
Effectivement j'ai été trop vite...
Il faut ces corrections à mon exemple (non testé):
Code :
|
Mais dans ce système x != x+'0', c'est se compliquer la vie pour pas grand-chose...
Marsh Posté le 26-01-2003 à 03:05:45
NEWS
----
j ai qteint les 205000 digits; encore 13800000
apres 500000 iteration de 196.
je vais essayer vos conseils..
number entered :196
Degree :500001
Numbr of digits :207041
Result :145296143195450468077677288447116792110150598486216648148567262316524464458377489110534110397809910805846359876366471600486722017437238264123969484195920503614340625416373321056857461524121697499158227284419438499798354301158992512309666809471663052089807907012482472916251932588302554997754234131353083549086003938196019295621042002687904876099645445286255644780524611458710262510100837908697253184388308811364856525793399116964331703979967056774447904348068851288055879630608140247836813075584593425318852052783393992317274619132379209014384876443571287980874432499842175902679010867968079378577105020106091639513622565336389964954607057577460839023513482406550833598437102996097376370905669882305350183096522122520907693165644910640000703711199383232514349694287682185956488018098951191284033222596326547430718597814406567217599379103365050323733641522730571299691419916369610237816153065514811226974135649059847316504402659110791804060221899843352469036641304469267563619848231084600574716521217861064311002950444260683554683661750408918995272805698967430151518011485182391405229377597660126697287219133996315037730430017216557429808521418591560568716841690608579417117142798304382222768944413380279001308991790325076512599023297603063031574481464563897105216546087180560685173509443947464590312012679601177309759480965463989650218130848576586462203626060736326256298619509248155173829487575742271177951338199247334941826066323812355186697325801621168996756227830120670787905244471475039961476068717967955058447694823579392371700121264658900059967362101300055938540363881777711236911346852005236874922226082063033218796660717110517322435976334095227861684490206769335852842962174730536017532826854408669971817610228475431362157692913442877843716624484656066183220419518806598974017368431033177750461804480830899391915455380006562380206907799572737757667825475758813869806232578799406392260571223068023920755954097027782891569300459081856227077460799107859082858760808610225400257486534100161396827103342611149696086415556572413409989132142618684944062344671445550194618123494108381241017442534418211056367129412273368645001258555988688804039939482471556815126508193383686005976959485490970403421927527444340061948939926593848216417436363913700010420506654011461961006890790318574492876391107559997909190584618817689812135687441226677840470568634563499772437296695323870616202844825018150323911647650964680505177125216542083255594576075812228178183195616459445141790764360345870975056466919868812422862082398453140055551233781438128104196617111609984097485055912200856791614562537223750362549394344395791806020290317664003183243261586313202835166317772149260443345439618801666242109924707602238306304471346330078575461179246834237956605698064097147000513325805135230847458264786137360756869348511388890304785953570695666941027432691237269996145600742436548205984193148847665327935779785110379975750676022943900995990435012198855286108186074580497758557534440089185528384732196458945415515404104796364611158501575128488246863189769033805057011671676174363458771258389571405813382107145299771214729408052960790040629050968658411287282159344500276421195257800961912675996813416032290434525307933949278968580074918375968876011373612992623034601386191868301883040164825673899809190781103920037635101358422634950171623248352463227772482854060645881910008953240900725150633510716104613157584921782612785298523352879990489847505755181130365863070869657295988737063870226220211150351976018388562460029877754570380406846749544248951674181485781019101291234622872399050461114528900017165306722087524209786802418962048148751584898712836499855708505316525641956344741247062203738169404531587388290099366745560352528000036845540647293612519489107573496999326599989009873356616131311849298912325663737077924750813025111469739350591433098899197433467726835092491231860757387157987449177242490827079616094388146167781724648655702605027060970880029031699692539000228852754791628572306630932386411018695631591147996759938981964060317139753913520965981978233592038453241009216220513229657245578517490649385137315759470842471475296664245961000446422256793716661528759217180470505958413584860566424899596370049861504173297386502137897618759979928048515394610247131242991698329337297969725475264258568712471894330586438265510628527480633005214207823952881495010889679256120243925551220096021297895701784722166272969121424117447486912588115223742396740405365465828979850140560377092034024017340151986456646928622119345629189257023478288251726431310364186844914433261530789366293279501184779325843304256319628098253123420161443945219902529475959158301909917924882952700319113007432929386681775669176513537544495555798057576065889494785601072622794627130060498953412418824218574963581138075154750734951982718238570027436016627372671851520611487072540006460706834984914764995404283252271892329800585739432353335422817703589920949166200201797146169199176930757883699955818813239845464124655753440195110075626982432539307557903997426565840548906631418469190741692273646501735054511021051877756279070074258344759806596040006523234002521624749128770499693186122021317750195683088131224246802190190477914042358642846615282415905804722656247703451017781416265358952579559280079079536556635859101581055459435380441314666487212998493527948798688831772449002991638521872411766099771582646982139345534499032603882218384815360632689911475839708387937404952840896520055751186602970675615358205413830163871815566780356318887703048487038984929981213988210419410508797767312938589898085606541931586294974542223033049121996047613175071869365689972096477789942329512823055227833719835673009757710903289473926017918284622156463869086413396360943926887770660793280551612358335167333794896199298666839146003946313142844100951215606816600179279768288109698648328356155093725630708750654849274875806180843778349985941000127414927803727785452941529476613371699889954236193908416076516011135605465851465705115512380901750658086961836906766134040791282758257415738519340849865860559917900402682543281440818123573885635699737063482071344845292069438348975385232890408683579545812129499561610770083306818666046262948226657781830264008720821277723610437905911803447002714984456306453150328587202012872122644210210208451152145768679433244343693760061521120919774369408410455421415762222169138545308147480270208022408865129438391016032952478511565478689551322717417571146977644394734488187331263991244569173777063526907323359510449070873099145187173175969116165831206713229979608259940397346106586900693604876029916342784331313457931092783215711953342243695236706180087064127434142345652300548714220889842909909511519364556127006784607128698049650337991620063704569788784101127096893029059427496806353055398856582954362273775670047769980612008912912255522219341537310104094885352559762271725395826512319140620430053334423519514619869632659263049369449306471455753528242379994000506701769978740615249905594839018712593316000355262726021300598956735060404058190347917739542466286058789767001197699216815220052868906309458823376022446819486271273087500004326901543565204727926830532853309341717840857801364667966550269918560684258705865368266543033040821683378196206232821644217440993875095773840606513996602933243191595468010582134650275113513540423767468323067922619699917037416714890110433853151119119999456707195102148460217419705571345702793460375557154891896989035915985503094815524713559989717145355286270355399726036866660427765743290703167320435234706222837362360538585934325498182537445665832417889401160438450544996445207157699542861237954597892094797032927693298719459436190052075590546781123284147340432038348193569867585769933159505526740002729137640150436663817182472133286996453169198683123827952632230127218363306507564236200374445997009454354134546035641957158514252344618850016247689405965799399176499936356357228722765792016712038095178088999729713443974557077630128130929956936563902000215715871787902937490357508320369333293670100888044032741141513600638497171183006462030455759660780822386055621492271398043141111818291235348376506816704404299102678928973448756836405788697381897778604809032168057642006327038016458006275064040299326702653856700542849962858934526792799400117014779970784365057864688477538263699128054198311503418309490405246030877054357550061060003234907062166957099984675252146768122822131826818449182706827900008186078317524650195902361926983658925117460318980078538264314215283412127446988472880825000047857159743399457470569055860161812202515028716266282205807289323049487282203960643791001072256658879992945761841031494958556152882801829221523648507895617843431471813252119779818298173585431660699780048498324590044934480491824770534603014331594180541179286347000699636821922997415052811828943921580033204691149941792648327398537652410017645186448084325305951138499118523937404282896270378042142615510066945519771300975940634495531011864368555955055183904148993844493427369882487865517689576725197896754045997159409547878159799997666218034382292579519103136896436630679659341000116603506443248197045659343225753078429430343509769194513920863824767492874585995512149448614114416499355240098854397535455169797960934038939375836765387841962061276739259179245180974654648642114740391354238116532565592008882000434452901971160210748789898577387457800602298924338650720916662955596502046354435675893195102597931920540444926752282858054174364269895798480791234929940870986472665530799918385393009451851199048554313595872458090131960900054008655078987884566699356240884010863527931768578246786745004681411890462181058175836729767817781040676920210412471948798217340295492754024556734017991804042577930874499592433543717262573221933761726157191309443011223300913449747700401134975603159270650965252331741046800659667323346383835796282103058094422993318543519968689003129600370231847975314673812462811154990025685370249686086337560574219950546896201104330308799101582640956187286308498988831518739967109209951102369948780627004829294819501897762990761960323994300192838501049954856174709677348083269060977579041028831059239761928558274778191255434975470678625054975309617561211027278200990181496013342479820337221087409474992037674648754792107461845909054612805011502109792252602419688431281283832014789235612346093996103412844100067580133977319274348658593901609516210608007723829220499950806775912347989380268267942959079505481652415073868281174668659116729957335911301907537479174674551851568641884563994629429654819879837889638539996766632523131806623598536991325472991929633899824307883365486397256122253491636584075730320661583553900715825226776259172666734574615408579886731394757064899998120166024118117494371938645349636014345124433124743970019438000671456473435484448538589998019229412024047538452300321475366411800020237006673045713088223978040077054169130072824493645775612429016554890189450849580341083611047690404876904260292065526287020486202916481131768998483840156492473758729399376909460003080005654820168650016466575954300553971659576483261317135039329270760940418542746421801268461735721100465484439149664827309050253646908711987347191470977123470110013900159486798450074779994853406852450280375323534130531842522731574424544416525075438272549992846635741328500973936284463130991481807305178176835952074462206866574722898203610132174886499940125079506465439744396050585316586781517236040489254580929209329850821145514019963719075425753583009819556994105166301960370520099188767750309052145549127382994747327115456348010587672412404387279524832669198925876030928968204356553415198043641751959935621532935566933909959404493193670963440089227812009875779936451630907369346997893698081528565989620090190370999589582198665058235028780528319396075414012570101636445802415528490534879082241375630110701745521497241225760842349366560761067955672676533218771539998255950200189258337203574588084853199306365514357857230642024783915336978415404459657124640899626467223597212518687055026600037599441541046976321475398968100430756793914428536066165742298416845894650259699999994928589647367523307180358365381175198201757233722167821793629086121250027970637492376041018336142663040599579899936314335875730877040667297746072700009660649572858515755607795897585049324088060345904721539259811938777723020830082286243301894029749998940281858275697347214839276642897027092378298323453050431905023697505322907683592595757191668280842760514523066715536956982840594818131954875144990989879985705971011501673459547940779805959785237517581816767393499432300360290857501917444701039198170009979174754033719787008881097950394476259043260041631116153223729043236339972423078040897058937990370075359656938731832617161772467334243638799228193944399591458238394483861836451670561483547139075844824009348183080033162828760440668171897715023695855481994737681197530930502375312610472688356745490453693857970588507989713902183421036113367660275167106755159657925589699627214460355243734379908963815353414823836967774314650875097977711694673241289638391851253806821010993155136466552243724032569294902252993921132463220798099088682250302302490848308817304728113122570227838501007754197226675916048787998948122500858629499928532602271257233096776580175209523985531716027381182030129044182959861141464068663735603389681594637819720566439848834206464628766567989737227589420333567237683587027348340552016890079595235515617386572600995593602067975412372912206495898525419965694899972019252977975467944766713588006983178455277585659819319571039128131287238635835930452400082947860099871228140216879101159559000782817406196185045754102304672754757423048294137334458675289956742829361061016847146052767039573399055930742469629522746454201402239272509575398031885831358202915576120220190134808293575462550258582956019202686768243731430830581085010535858300010371386224431999829274186862157799102195022147938662155659561369188440131695484987969349591478093804355560561319499830096019830021127601371702990168976751695289839131531679869954473737930170524928227595670815056173254268545678952993783303377582994712816690304469720671682042881239680172803716451284142005305865086355969494136819374718701683737565119004790544429769763826944674417507446062349300120295872031813489008133229439465222515762014781912410136143565856745008998609741404928318108772948009812253913889977796137364215087606423330401715984613950832076633806285638131420698575286609623777009859255479832413823800829277320826815693948678129620636948497005118313328877378230006449086208645725432000675828416817232399729119341229928257799597686628050517361282646434920044778788959824216538536388506426799899957571806198182977636587318235391314305173816279826580162875116700663887890040553097647539823169036224722190711257222895115521205911021722834023570696896351570372644970239695638858534131998286331729788629799563112547638034643878121524875225638742292164598582555651608011839244874555157212086114965825373798054107645337728716314798002469887469559686615232404557622264203532905528257904001046879878240941140142949513807272897520253082789112786562618455003331535603070963981313504447251250448300761668189465098886503688541001732950031597043551193052955149253928491627351357299059940922215472497137973250779559952870365392591570860367328139191992328126543063875412872381990544403285124424139598303389574122020065690718761942750827460467733938417414016020230533364576751669888865860311600135074912758551556168926429910549840465006940769435316015809568103586474530948500698056192741641717436537901742872122004830582521047334061027508133538386246280960330067491405807049992754225054630333706758642555613125480182185765159942385822701598018131549807680301083595636958138166355510006218799245519494567268665599743469206017820232851592913201331557193190400932736978839645068629543159502872190828411138538053826319813381977471193892521201130516207164067108059371701586522943710433100518058680472881546289317406028263017322378933478348182609601133527435269101420869276481723566694428792063790937975349329368773438462234331289909973020729000862671461772699778694270699962523383570030036725315354735265937577740589109788646738701669549842800321270445056826072991339922790820049382600196189251642458138043365615221437227754854801149715533362199242246195641887865569177547609603410819871040456609971792362997752324932214470122969753693713301452553772886185231085598660946209303282108731754980239825123639977938464755536158641824782623685002488899073824840373012936221460943906114068308632782076966123716885865059720580212602267059855843689203475696106829171833864157382588288844304587471228725935125194824655123574531048933549960183467603778686641858200945331671841502394223605713472667785259072446059677932246466332778921582562732464925429621500036013978468853242708889358801414597589092248770513799427299035794834144146042013826502156682601755481238012728719721308174754633518024517694822664405531743003252825621359913523066817430966560780396642310351374222969970626667775637906404495433894068201619800631052799398199907063614319815943725872690149999290101665442584471824911859903438179694987598389638595580190238615598530346797575878465912290306247152456389845496915528041745997013849797214274801094686099770660436190491170408557294025389841454324863004151984235709148040912974564388481473459529465689435354010836703913653879988298119032209092427182707253784057013567007445042379779618009510782927682445682700035404292766202029309292565742821115615944702999894328661664168599523738282690582678949144717154394952794175748573143713407149516109115697427937789110024722627284863390197011397013998251516987451872808690058812314153998569469853154953619903773131814746826994954101297886095871532406965325104507606657261798576346803962300383384723442054789162160723194377008163904089535570806781237360937912243252978023852224178181712008371831006024300846416487454296350174330903106247988005211248119125349376228646739295525090279982753318525576420748041132194319920047003930564811522312937393172745679978539074850178369830047693277828216864757255133601126927366299195745776757041944676523571460909496864004342166026945248356309861913618671915829119436607634767264850231712626377476812314900297635120005779352282666747617871393265200491505776945428432409299494124345278701432436993060442297359959770716583693212789953474682436669854835868807913436000094673305205451819866072620270376600306633484039925429069674436616897943719420010512716989516299956692500302516549106648037881942293498904047038183543535594868008863988736013212853872527275083638965919832043995796730016718130054826742610131151898719905864953051556341482036894932970001052440111780901298431768948555999489813267777763337610198320381551564824855352263493226579214050109857418068425229511543786725572527467074313599752902482313185346990901960461883172745661700415545015028705193079740397727711947631736176562801425655286502200166446378122285420060543452356956772523256702294257403888246043359422791264955113520854090122708646077028583080082301627745260710878431739321945175745987643845799362235549154494142613612970321751920992083141575240617411183261030662646454354560105989148653502700828187998085722035503533342987563611799461282246794487599661024032181247597354025607854600159913667704623682921810136430384052285675195767283300687198821911103350720380097574622272805805577806817172279995823573753464634123266050096224357096699539191336917752935393159788692132425689720802006459951084924145056732964123102127532414142591470639996460638015448160821221008988911814575443682658074270117994598464222164886888410983953427224087140409173668357608646059362140143095131733615494686737772255872111436255594424734759149305285308191587784866554572946048286186974523020703098020973050791985642510317396699531301192330065694200148064697347066867888234605504585928388974706725901414403209569844376037407686607809531079246821548746130694823186872509999990247668446937485326162107219289369203500718867979351300695056880545598622896848729725565854598012051508191242063399612989917167277334759401076702262970421637047325978943690494541326999940574418055896428454305784167305110349289583072700734985333087877506777700917870045193609673057922517110126939727828463391366318269244985998544457551630774580581013174756999983024815551999855078792556620691053872088269451315436748350482922950485736920761415879918013341954510173553341704868674844428994611646154962586139929764848014077790903097727575840137491212921080301856696025538796203697514765813091134458382911933477333083942375653833905056833201262978177059751784261026842053543011213757945265536155603137675002530382307813582743661245546453626753593210227820064482259435208059726920864933091912319678315286467732738570482324990490191443362879104660647537889833994569750227477011988049614780305591625792976460501205620201896726082185378105729620606468048664550890007400738324253542499135397793634271712166218681698922122209131742123550844715768827329447064495315032613962778481790104003623265396999881758646068827234982272990180889135357059486831880082995184445735638982813345207609116944818305797405401914406951485213566846571759422368137160706413337905590011997627707624757338989911605028929175821483618262206075664535982429437745642187979573368698561630730084068499600137858224770180828037220201096581953001246876944768864740790663905464182449858430429845835391007488182098139926550647064050429640628844802937342424972925023543512098228221463831626800206737491929044777045022977787777343398647163866332269742706330391472821338341163511578898594115319642273752382978423629076280050352344783869739133703318485291885961300306065314441709459795728235413242474542829786050194698157265108000785625309509884143258332478442855949591888152135460625980124540179247333080000422332110030558450983266818686367881891291014978209170158764158351995830027670774192707679704391036422612127304354374190416688284105703857979963747322775181010344299428520157160955451349401135959994769710659570164573824802103429385650493456777085152840070033185956484544011151607867207190061913748562793705871836010202384337663791987189856497545858208298944028352384641497620786087483193485093619870628626601750239607389043263638090596995742925591386347798593819907851436636839850087351664783795847926952263061770220886135325225703181376786798655501397508465599888727425404186538466713066060273284759785568685791995831295560697643393424134938501045187027315910639331777499083940108129859866121497393155965740854722308642951816513551897866617394573436568184132943419129391603502253705729768265625230643583388858971056468269435938469361236960935763719543398852689445928559796680851163371382174267261489993000199426790504643198014803206830897591471043231850498733729647084219983508628294585728655299158951875461037608736263782056270254337135326594447475976872966990704861894093932150075241399100111993302752476884037919306201641575766147886709413624062399367538404978547264706742990018921730344337413499610590416955891321630097878726784566999151465274562932790249493032604345689070242741612556758829686425006643380955864059147642654644487596035785341413615303380665880135993650165351874172577286605399021094087181857755037860900851175702751858605508722082350832415108763590360880840497955141093319684114042867081551178127646000568997245830436491168647159033001888446415499319252813778557638538442746666359384083009928769380840688069377702678840942840164187028057117869385878523235769532551192699198713381714444725896816268020947705561484619926175319075643971427709717658125671627810606148245844856365797854049462626372582508579834912105645748985025989933138453231197033661942472237645656432193944078674050944417707587978558562199010178884831394402404624524701843066561371241891542337744624047756480413495866616274724308553174200340398701200823869191159078835319258581699015816734921800079569584343087379514869373548886460034576431195191179831454128035002266447015409367724171177624282405323659876404834655162030179319648811781882681709507982030034231099300219865836942763758864533083081309443291340753803693193805770515292243275158821057339201625662753818368360400225712138340615511392580472056633622188576979129774221405248449714952188611306709964357010146844740380666073373936694999087278834296765187924631679593282701131963550036813297948921080160983742867894925308948817064848896717443851649272994297660899981204418823219002182548408796472305539313014856965422957635227278380088622602529739571913536885207749185990257136159321300902644604852459950251578113132001046698024642283967591580852625011496623045757931362819223234160203008182031071418142691553912133982029826658575504506863172004372992316190269848907822301717354121511983613084997321454027157562406585122344963888488480236177245758257140125134567606635679300561962667012639208734513183634235359522784798519571600783944319463531680876901864773105426781275533637166816923813879315267076420417097818890564331220855890464694044718748410537631943812499769385004187006269264778542830254232481764190390591100102002084030113605840602644588643170171429769235365871821841935749667797649462810565886024917985955754071043325323631105947229641138991185431698136669893859451323140403568816642191001600077256207588612494047994678739100026365704878467677142393847722012674074231207547130456552612689703541242490893876912821997871299901695793947235274515709865373791535298460822594108859650544163485224671057974062381915661013984797196272464078323496396440042462965626857150855575859708301818411371006036805224799252776448626467302653920803172887003603928289757109438225054060151417254079486916077160160080921159505504618270469892189432604671896380562117420253631349717810776290682069880220084043120801866514700744930928865959493714815195230868269464614214390880165973903941231898185830586086818616398761277643093002526780057580495222794161110953518034573761280589257770509594560216624187871863432426779698629357769390051331103999860211882769739592564876143999822199417158643725237452778959985683577076280508572531879018173799335581306472888971456869876670085224066811215819020848416599122318586393390273622474305639827425498961552224674026062356170716098005459483132705791359699676817372609939645688138484759390079475296890692976130664601424865510293505994730543553964147944068855543577900639927071395706026452103931989678423920259467507371338159849942549322602477767153995376574273068391672062058291642581237902571747528531767587946016861275357027592879839634098476813357241003330913293451235478595329682916970291829079721721993445626105719011844434182636303855081430785076868372806048997772350396042817531852431218502839790178401656870111260838916036246759829325884572700353060159568370304146051689669722000076664494499951202500075821593953698325461598743099808065916667739650766029917095249653179559697552905129727749020549215519906056076437010495106395286109606974713074707794688979438522270628600240308672539027547308813527778184475980342094274442427056362795020290397964042984808949692014247840374319976606207576420933019704367568970400067651273176848395928327602186350544769097824999845994929083635353155038482319740191283654599829699686965749457818055094614671585230609978258318705268002539300505788173493404218584333973806918768500895041551992220531751098198959357641345998378597018420990942013158830015560821017529129091460484933849157003528240968567220697769671910276591112767823450405076735164245155120082100640316511734971730133643221635937915604860343005419693450430322182946411778250644139821680094167539600662300324783848350052484632283064242037997492108960543482415241001536853168120704109568679723096229917207854900929874319536042734191146700689512600441300655568364628376141670619914959830883023901614895139809946976048943167369753241640004439908271558629048162072446531596356782189120635168952984087310315957699606806880087293689753159909536150426875131866507103543306868155469444583376514675139071503791133742568579300076560989814345420624944918278411589331249956492407808608926875197910376605252326883338208387204985179173818015994212001156364780429985645921528403873380279702993618268546800884220302715411227179182482780614876026490785959017834106679770718971290462352189188428801848773881942875661608602620748912636999985421317725584055949574559109339424255437538382339150812804558157813569529947134597854530777755663035712066659871483164599277036351859776226185393566547377562833079152125290673841945481895784116499387103276496030723127979377698802881346544688445927500665960423013473498821528341943896019172656344172727209255145820083963179470700470107968171885612966227833036800378315219884779639324622276137663814328400094057225994589834766124166285871419061128674535940918324698541537051235274781720126996167308788004400613771402567985632065531276591137984532143940000396857113471663885698442623390329876580524066858344173824530806813101965354450701640477455878031515068943617287506791763538546709307483786633585602284173301951415599043808894695457697556418925448836376681883839631793912780570799723358134097462195666571685345229965564456637527572312993658708389596362170335060244483626941681733948787339766273159080234110806297628098970976425005163310502731445032906741181103515327050829694956940511047912698849693709953604120760091688417262062020384077965852623848720983636908978299979493564622779623535724217129786680997071091736051876048847416977753070539516945405403326273613743927360701868792741985610637351993723729815095782574898117261508130650238601263293466393372348813986779487969744272044989753448086707134959840134193932215130521720683668243400141343142339813450277284791647937341023770480353576898511948017985690789180320180566502859879764170861444955633067990961316865694508139470237779641591277575548010086720380171195803404264691098975220670175849899610091559469949658138089488623373938924108163880543888591204912299024282396742685738164353926356027792263675739730340821960802770623475674953270559765890351001044748420746356752059557518846937637740913998802310021544896313499604772607211957036234401413444257685711412271575024706199912268914148205232058017866797870840100443799405378445705827708005938035829505999772552833594224987832201436702909600968045403502163768508284764853041822702639329928155484724916646380384204780536134649464742843160237510197762396930966985210127089906114211179642820798000354423161655072646884253531069942864794002950591422461427027190653505642173616644489325320879876390544128236615043653678778845410084132557058340123070466692825151288959224919362329103141091380465358338922524137397042491602575828730799339300826677016981253968990757035815780783249908688403565637625776220808337871028647510605959051782509112604648820136803759511104801231925351331929078115836943584532638372857042409534932732153971829900030006994228116004417444394919535606536816817408886928824354372833376805551956067368600231755916616829837386869720652308957625230571441124882153250999283631532806239788789987859880790444655877216860697708615194611281124575789992973163487726160908247968975710544460628272322943169580544909784791358175850238358751685815018788103095694787696652410018451820362782618067184236969303063587860428852571529925784605871281488928146772783191538759500430992926084482379952619655116939796470958039528061055033698186744871427365821083823943653175841186807207497268338868920902928596134270171552363451315264194231720530437857466000060828161063031186736119440045648195009602590067808574033258589839437659230696169500784397653124088775465896048241681297546698154549380398365848483335592133764284921234049808809840524897752574726947518081700085874579742033536319876421982957448803697050496015770581791678692116803445351763540148847036478505768163892981005533001608447320711090811743771338031864949308320102326349203006082260177468096794716214070233730341535747849072590045683366007209547101738581521455882959089724652392937285356798322139283453943253394429745021461606659568607110528280194562900488999063646713159550970120636999693709265245900045078993118086132682227086539117179604118020278987994792945072975669120740257937772970178437111070481774723038178617046098862663038475600879379387548082525349737289047395761777157575081258987043925357442333722280093564332896919296346867028250698419923088635322443664353941833001359853026861868056629042396826989320572640932123018775673956117429476296361187503297746425721999360778530629352500493193261703624604397284519522044798420079462456000733320682117502000174989487613456560357662970669930013110146582750530942044926069761516150992570009956313985937422560088186207879049954622634014277137114254820003925012318620317641712595697901118147076497195321850314452276170713663358804405943543000094149471202012509979620050372562380124456601432177903706347742975409726977812530571318965004875760363830710684003960517701550881507698329244055145870943974937615547563913520631106210472428068950235423071412520179682665877305609664689760636758787896937411699660470682745544009317494746345938139390028315934559493155325398432372171883522563834603610013156050005194840472985349943587786996230500853922233705145796555730999786006325286442872489078475898138576620132158831344141211275297180765299328831691091381189447142433087703666237728016368157675788130166307385007317691500588529757340314580693800491186154211883985690641467201853553695185739427531091818255850212450681492939022041721865937929187799856831153756650307007670999968657262242841156305228186120973444497147926011173166972543623790471566500427222236536001194545039749124999792151581267490194991592469568783231542744936612307877708492100081362299112152250835922247403748333338060067330122738662317895099865282504648441453726794884561342187387098157636184513191121149866367385277464836389738000233800699207419729578019520005566078585925073467007131383179684928859998834650645256060599901195430031282734948483160065555522187345451068015511494454509256953194796416068651395211439457627574596336998365997285483489707020977666437250444727181058262657641805609672327931075767139630005570120022396590661561911255991070330004761748772817036601427857916186882709138611425721199334975250272580688100188103940500237341183528800292732307206432616989157443345302610649291070629474711262117818780897340889327214449516072442574801000737510360703566182928602766109385603446694959716218728178129135760718802423097331648668873884752783801133735976919831872751747794325964311298321384180552867690688288354442572799457496155935744886694942418245182468176942976667630108708976809014600932620808955210313479809476030005634214471096877695819498567250499208758070948286788379876681200009010230966267037843451011441381872421283042471375034127424030521023851178603639733387906460611993302771697491438632618691603772598137176638352182961400073910478435084863256164752183404522336641522374989900053252786431353458507796358054767680508598129920969286887534002112186726436384137177953484579731531619865189318455807922512811956336155818821777763124598227143078446634830203482481008631079875572021934951016519387345003980615205246089682614690993538096023239600451757467885302069400680568218116868006653300045979940060367131203062334167557183217975635758001410349374313465924620119606241083705389614467805900123858531693398859331458760165351966038727664999693450554501289731071750646861608524475695669570676292300559324257134597745273841267312960770003780596464218809318359207627404940950587863259523388209584165883579898090634035002190318214312862215971119121155848360588430725988142770773095455949674684996093923929580569947255691918685420694110176923832606778927786111026534836339401288408269569168220520023328236424326915639362414438833191247310963675182219497764416270745150926564331427397610383875856976299100542805705095332711589516714123000559417701528833008599538317746411165154708011931252682336032783948963651897538969303211622897569826744715711323991374378305835068918027405731077336201806007115777918991762181258661190305390016728670510264363310768016663482795575778676663420029373442855074828279124430623166846112624423795049932487332850477415836832006815886224451040004337229417810816428274700221231308523258250429780963515832273765011730651143328888461020139974570650358436535114683669565818112653469500018601429630239329496517491752499977013373877725986897479732976492924406322016157119631343347725619759867996392838214373387944952621150791712746103529507921797535812218054238190888336810987382133424123929642417602700922102944605949954246201730246727251477850494102837525578386113299430362770188385009538076457935944181614439693631490630252821852976931174897639116269320345043664218836537276512756184769001282965417105911916729746102123752598400049838888587913062806053446539454049722446871558162217221513190018441005680355136187942508995958564114186607640416891257130893101023783725382844500393011028398792522146948675138385638475277812372773278201800745663664625076825280979057177203920570348251498862360301404310593944651916511114750743865388340423317429499576762142397973088123273499989406717963133823494559588601963946650921070164710979229298960791997142330837616989340886826699502829361959117173245871419164327322181434789480814812132175690682401729954261985098235846048112980850710954430170272702811770027963865030180213205930660001385287715367810051967833860112505282341297257269074087309997821281068349548070462445186388092533083546610198912524242312792931074305844384246126327916506608499808167165664519779425435363143925603040762706240084924186262748716077439991854482477073069960683305520387056304498423496992505737098235980425760026857421711813549113496335453172423943312896543382546794210317186750671550317328073479316396991946534969868630972796333689105969417665280043178289262334880925352098967933766143795016346706886860962333556553912537606708785953526132413380258546088304682808320283397016345711234936505404200131824972692199106165333979041875297059402498306314916132182067255998902313181543321425866451468965268207923048279672879704913619126902037225554872947264593966167017668853068688856012444949230733776852267107533141281159960309844484313214872406460509049961436307666780523862377352427932452072677090337234662700915769027257713990663514270902956163571014351895781706442159551174851593649717936155217001366771459127262380312389638315108324621781724538855770603300075318905285746089819693132020244471575994842585281055753342300440009410639859979089363188553922445925813964379010314570375559821024111328155046945911409650697302852365355521876999321353658425399187923367850402999784704294438166351531521198936806502309904325923042346645677167754997490072156198538127011856010040115959090202129842181468044542442918147457062351719187564807019976006730992155362317965758743193730281824814623518043760500229489137991733804974274208583096450519365417565979503460351782528541373759901177386318736701644408711063830027120939375053904803864776969759707286668490741820118343325348852294179640261204807784433230939605330658773456758672565141620043867573818050310623178545328777346905411801760038505553852540872784931756399798439154960444838030168018827981306707623459142650019917796554787893502514753600315366994178612272738611683681399000260103108399765912160054697921130763400571267515667189709054933469172864493015270355670331752856738784257350100066567605257849360396016364883731883361696010499514699666292984328712685830115033641485593720532354500945000640562214287521579885613123997325076264524113554186888793196160213678561369981145196240291042622458243704879569861951031610113812557559854720360193011030327471694050145655781041572485248867247322084917032474651989464713965276415830048839468325605845990641999117956487506805525700699428568219318195043600441853763216168502420038010556415727349883670802280000128159573866539942473402575946615603507676886704708383488727337179349820004562386651519113645088456753174933376550312790529689646513896958261122216235339815076098899162506595154288100689951762913920550586431546507966720653165165060587291167131103454681379396887516638847523655472818851944491662267378204787808792810806388381785866630022305156396162432797829402330518268375305342660022583253841844589675306475351211748126132005831699910624339103648990837379610227191290326972341914540668546540527957473172542689328348463353227106348632557345144513070295774515214723932645638925576574031832965493769687634638904684657302090397571918930820007707635720569488468007871047292082367411161521741794220339758745144775157774756231099397545795996956335084015916509204407999663190599559540282699804268734031519364954420989783132276135875187795971545720903112491203923940193458364940843027786529335270301198511261204490942596620370690421135587371225192270071148482814043187298614245513524574195403838983268825246427166859368338411417014237900890054448582720408002293718588232710103125647747612536016729817411910671001013489751736900843181081587277777333618560665031178928645678095740671383007146931093610507936600632356952130485285323568253200365069373598277465874484064020231576574838393851605535005110740646076238762628040631275301809408880141517606652771526804244864065718299028731547871411410134313417479599993159028770993570139705516020531333759080276762126187515382237611142186866362066989167971004466563470208702215667648804815541508939338618377048243648326252516961687826675482881940042814941598201073600272168473977866883417047386543283276493995348903021144889506778452077566445574699357425338595834832056563431066318696424125453342035797349956471749164241804511456346095201471427929758865834887414405260385232544333186109453208370536297243152549218944453123186421095392891171900759248309258213677384898445716360355154179410995212656385712698120134600957487995363922774414569893206231072187577839186127543166300668346274622903050967254097569174685219494054201295719680482842191427952310708976589028519248027995583649160849413538304326158990892343791199853446952325653793685588905207954237968528837087748288803993378574867284324722940289745802363928980150499989749105568979156555178319972642839757614734839797599997186383778385283653271034004358656945819621031585360328175480194918608328702899317938069479593135435819496587496667074515290241646182271463557655778699253410317754755840104158328912107578694078696428729831089774341045851264595188546294649980874092159717765240523919472087252727290608995749244437442337745623704358666282703803519505695106391239781395610040039898721346228392819917210263179594937600352039326937988019557885031474289764206334061445677296943335274830937290729327655445997437928451340489631017934637492733951812206376540129087029087272707175110211005856161155519419449120544515294743311310032451408636724543475376852209249562962704439761223021345951423089393917342754124186319005812329727777357958245623934928134639440907645938722699664363793002821264161992899399954716838104999249504355862331975109257345051136565903057823554686015233855275968354658320131295231850106193966639855321688337196353643764520535995051037912550688054362365790442895984727813583638310368950478965657509840754280305525802530731445802990202007701585992314683217605356728957010374691075697224884764027941994460297277852711461473648855801904060481368016432216546989107647425741186047032128167373097716646104386401419968107629029431681262342022285660910024990800168491630179550827076250809230702597982656476577281077313177389883681276138147895069067200462894747310308979720658669244392133763486224639860710192733695970597619038093055612323310310410853240485705301794394591163917755579738920134071419882394057061327950100178718720379603320628246298349374401227641394627245218472980267695744013988741274932213976690647791131642488206388206567595419402141237016447928010656708239561680484495923290797505028283076032703960039607809488795629994351682097839219318175242406150397886629285019700085095350670521399194499161694469243516278769240838289448762978094945577028745907871981200987949245944051187347580671160313416702658070628912768153723099547794034435779072889317964898212475536605550836791165504493804845263147052051272550975960010491585407930367763874296253065895924478077672700143360300705843007198115822675147221995555756133300065322180096949725753262252369900597389768855012792373049296379494490761467813697555752230530637558999333816706681660875787233279248175484291351797081841140931724531071144144101671995879459699887135645550480995058909705684333117316409800563091852283970779666804582560346574796554424070922739844793340709846639534110256231832591101679858947440087971721317584797441437425701278009253076283727023128564248378916391300666352634403129621341665810055221012580245857813231946227976877558576096536616004143972650146749972173413928189864166779206513081444217573132171159831140397995701236643705431397027158740266109922643652932555683178153635699584428536814014882971332722178431977962117011094501004594377710531473804501062108300984911564662135098579772104008700513210068599226220448064232191025917034790574535401625789344279649387058066416344075782263081227854186845971976925139822063637820228854140696086228508128452395996132199187879973475271728749706230560274135674806252372554481739121254187370210000218637550606333857637507244256929583116418240677520157529925401359742340036539450505899694753416189523049008298214772590742858214637989564291893236431197375600984307678116491859910694671146773894076639426056392615432067844529166136010357976709801641312164169144100494606426202299365730912693853855199528330546230841186686529762591396961634830895267077385641667532006736179094141220662298301203709292776933337780591666978956856393580987919505516070725368999671281324511200813954327165061676702600625438750401481004692826988620002180987071831027204649185237046865221208180139084103583606483859008715361574088038954834550628204990313497386029376825419588189742587047115885038640212792587718151396929994764642260741251387561155083372937979944243310696408033460939442096667107337856414851439450029163023453006199063075703034133949018016239863581516204860680926788952849731681785997394187635450781581985596443202828344399714570529065177273792579425496669678134440449675821418000962227079079029369025003809932492835299282770858292420208354789024549902706228780358749834942000089942126813010833675676647380304002699603956658300131158204364864707080555262624229462288167582701175301739932524210714009302931297794088354609608999074193614116398254279404896447607921858699587572452919979347051863217063342733101630622258829300271406254366015429307625304697050804307855699759143990006506813663975191659325113130289654742616603321793794701851225743487348140006132679643811094272607906356271932429332991644059260622234943889211745337765747441900680725772328033764369547221924441648212857598792980235418730616243896396965369763080038584697033020283598594998721312753580836929414711657923943291398952286654179807111083318681178043228173727244176137043476883595607671128901863396663373905546549908696832054026235155912504697453221042819095888337544287431409364475672352101331309680011865630808387567181468364414130311694320371049997640096498968955878913730100842935904568973580079969854650309039093571954999293024154415000006015245962333336491861879347903777799170860549400301315036078572175001129805313774658064674282701170311245223778344813535038685413986718551299583998160551801190068094302142208755703960062429838213309200987726402711001002404433372349738514451116707338067188257823892159872483818007048407980256144378862988080508759166892212089914811710668254318218521013496380667818304173213883017919398444893637904332946861451639360580493970874639523235322069640717411180515600062382574011086951253183290329284618930594920710564183359025949535450111182514070537739401269339988298568658965287450621706860523270167652803477184527814529772124329271245169526230843207188229062640604058723834826035154034571386288511997271396971234009504420048701076400587404495280523908227008538970515947439479597570209269881340713975738759814050523103929376403527542727618621958424157989775462813060247202811410301912882771589222656841229984367822051953323934145238175272126474365214480975621430510125407356583010942052711086764528505996601964568321641319056822480710551813898091471744017567575199300040005607792090974258553905060804136932846433017777102901012111055667458639633318873448382281616668869564043144967105218481879103093443567968285232768135333463493720386621223483670218523550701709924570598931235859933954871419611109629419730501999360680537018206364802917090273000692069556357132977049130582464313124942493291526067104999777175787839127341242623611331789357575127643645198741842711783718499950500786292452997044887811728968564840733051010378592794145757585840411759580578166274120936677903737030628690340898620489310800999196198279597642052414552020534271479020235000855910416025948722348706976019911846274080965004600374827939710753586978576677055679036142308357145527462627156985911558994699146661548262575801086304725842990477857100108090444864758540869558290456944832945503598673333440275853713688632982048434190834556528448035456622995046896903957530389632253494037823636931536981968689956254915010245009784095680498257277328670601588405986904715102111130073040255302029787970938178320247441360552880156816939274885735424972008745004504193360485690199736002794515295621856281782064063032872521396145072814699867342683123921783113543237444259428709645429393292508991403588850722859895646139953373759739709003825942461004448593936013920009999308799822033694541421522153945905006671270745497280846593009855332158089719428061990408568563655393524705865817659959766273884050107250598124464453127929778894987701914121909254353357313606199570180365404470690504992362323679000049451087695347722868130431451204198364194587131141689000434723811134800611464372523888937286938264154793307878292521014593400484874976351183688844241690434511534142604648401208352802463445704713449109067478903970550002705765901995819185573732794707389580082029100072375189961321226028058408772125644204972548428091844667389871498990269059968976559974285813320668168731950044549487032214791591008505559367140675894666230533065998641385670951462810224096507640507539704238265031887655982555131331985542572972195487770024136609705279988903402870499288342163807896792180275830225890489945050313681509571503601460074175507217486474791340573124104283675051139994393890844551787194178701840471880334119889982996099528590564689834009799285107327787470117791614603689794707256989541416184177094141974215783217213580016808032703582550741811985227051576742092783617758099021182120285999206966934642492099291359165042400231554978189653960769333048280062752500549904203696539111626386101598903177078630556287903113715519691169523214332368916038928331686632579653724239685353337351601526858281063542349149950027079452410505801537642438057293630572635190198367238626916495923975547769937009907568116286530613784175557040263542105035906614426232421599169671748338098629739372649257049218508053993334035432823739165525351677476517531381815834824219775957250228370462372332725858230099110359805730745067985770111982373977498669686701818767978670033526938345787692536829352944977508645623878121445628788150464399190775426535025014317497136898488795864565487366174925326213140024988764231536976922788471585655639867625996728475857526067277875564169689783612546266311554257700216491187535034925875829102905329274944233469968636344155629741696527179168254685125520511005404388217221292281127149993831453646359647646492816778733005200520622072761154323094832468737204424427250214050545157232172270933070014207622323572924617525945313023008879424830190702209404253313151197488871224628182322671424412205937644565549008868726970827913355335301090710669989971908607550608124077861370823892389257381066852090246012146998230615652556778246863931998162455124127678376745014654200378244418449539824160127619919257446476995201036793699494055799917445445858842896334745241742561198918358332594271041771124590628499922397263710331681073603771302028619697687091250482856477499874650700042843548110035336164064592584297429590099985587043262544065806161429192021768252619059379256580790093829841134641266560887190957217921074704736196930998910513981658670287187871272856330946863100092030873941511615027709721520294989273706260598417334630549585159458810873845999857478501794087003896886330494132960375506089818070339644935043782378677096007952066253281040151700089076568953201107877430003257678972658862362846739500399918213198014278472923299607645952809362683347542739309491932347988485199576428246249916764743301376557468110600323420920055596177820043368097277099051657849420360853912604381590376372442262937816835100071492291917307370331801600400001249357422257365392948203050524630455568129499316056350438534161774828421300508719284905902186970533724476940539413098478904265427434082389221875086397727961968073082705912425007493759813070769060663347113190955097571500175661235594446199211111717506301725410275006860477136134607146275313420321738099254391462343309490102386956389312061948192303894410022286422985060080827277745038117587520520271868266541272499552936301621228065279082793128884350674015167086666484016244370299983335600148525907053963390694611018181829289635197999914870994102269892917077220144875992191261341987960431944369477547783391630001485715413936304955342052833963784704812425261140571247330785502827060223391395410214514751952735358595513563466216694817591712249825544408883802768928905821890245922972291969368108049040085064192995413071085308443297936112425550813668330001723704302142856242012540358563905554785103929763535547952981750638838739218464917519478408783994494163797591473230418712741198160899432304923152146990147877618173249320313888828538209914021720718197412767426156570900734126087892487639865769781135892713258315563944239651449197705399930549495522630083697024707947070805935327811000531000461404511824984019865351636165519767025150485032997585032810458101960153574893697532228456440094805477676202964472727147901784316104379859790890879341859970301117172977564054251574540797955098793218458462801362010346420239371522737945673640500012229860060227350197231026175638891873855454842489380726301422099800798443187936191256981996373366922669076029194187885998309307105871129739215352341434120457655997370489995560824446035739823816405476190191588525841795555795881904761779701312581255206249710885311982702676046123857804775046062357236815343075662785341818581163780289981076805925717028432637414236538671820261387396601922353938062324289140117593025991073935510100557974816281597951330975448123453417399351684633747773045246701615845468171193737293057866107502066777445144084457668370340314848654907881196314799074666266553663630499103977297445393304339104390603119911130691025434647979954872015840991967549889410634309461929045364390561852587205972182629070628083518020376472975993398173091170655825948946498175770570078134054340277957040873999957627958720831575111890901109147655264262383560229608345441496246834730301827431349593316948547616995993616833982569398186079374453295901221494782739013912143276937633072428174648785671820589046282310003188196559935816397082604141519114711067300001475572199922885499785528721315401365772071804307410352198286946271352864645816070119505473928917548285839455578852442299356869471746688881197745831384606606200529438197728542741985750513991022169891447815578193598804126028604159906619486590591131120173013061655419607002400499364062872268250395353983321520737469716872103182844434743841056459199161908537407418651824993322975262797678693512430344293569782192807852286148303400432931439984198550534941984725486462817215734342967212592544001192321280178646694474102535996982115349917332369529491467271393498742383817604398043908641252944902118920340609463226424863916142111199047980046782906496411561047384580318652452121759968206789530707023578529580474049840050579010020673118820609380106047001471377612313534655215652285158293571980942285462952871895475946140129423531143234928998861998000517531373681617159970272969300298889081699953539431286039896313818607761599952905321944852306979100900512027662310236524042425779491146720138267053823464001029424069474817417825764523150812374663134861422655562260957376147905438273028222200678178168204704195582099490864919399945826110433787729189100715757495253952554841376164130542753695632475608367279115350000726345759377747598450595673757270083030400878944486084682675004007357173071357089016002420100813530521106276080660006799607326868705314560887318058591274731787989470443411139474727666246072369149085310909557656740544872369848140324287209041152251135753554882175814260227067319197050525826489127791904772747585884451471778247004399318079701425317773052776735399988210830429992010135563188164159326882591222911249969505912685425202779346496799569609586987735690195824182620910036382886402080530501707774247119701471511094340384001070505631374644807865758571238917763354714474391620930673997941804033393388960832923188140797896944782792876856751029378944957693000452468695739933349970220072575779902042727060006485679495852823599535046492461282437139754339900263148482565492973514184046518452227181348363371840806154706108864223901019419412894459642386299375049213782609414879514694371824804715598182778592958252678593548257116742567040598416906560297080233383599490453854537746158356818126183198452897841258039381938654900910258528522089996906442881392743002598281112128201036539764682080807337402440559628158089356244200103275912451329002311373721203009578072526987019941264366727755460778067061684859135187510993218371213071773042291077740209840166173652142892671340795826221356949142586000195757089127085090562189893612992378892563678493262653015536345914034492997060948198197069863062264149066537330743431469069568962555746189203322570502690869152720637555101057754053983034676707480161157521087980123910721673395305906304807670032910934710455484300535189856561984421544860446041689572710053280486228338634639598138384206968542972934580795136432369376182052293394819384587265502921109617535469132544992317414701146128808657873576531262086820393885100751763163364281934464251637515373501553684856231396700989002636056551727636526724056475359986053296145400649251209202100046674572779655254781182349017139155128090317657848714857981287172916946943634139601500754421872429939168822515130843930269769554573547830756174710383680026518002117051834282168584679730443000672893245972762880935855182014065340284504975946659431266229381790235651915525989674949414308251986004690904715908441229323262978527842824301272869994700004224482278380118729168550923845014558105123886120655512013938854491715516646147128134107625238878274708994359298587375081911495780574631457274702832887221223953137562438578166386818969864796343717024932618048685647893385638657912795585999931782537002004937033269009257509671411635018765619157538115536107979673853265367111663026590518735813975992745115561867815109245941908901260234010293744048080879619520198444558889480343276155070757516240019189829430709092859815402943191499264278205658444357157852812742859773380325686614595340091766902895642869904026443257998961733954016816753415527858886374373877078021839169190004353811482997276158210800318251612493062083496028311328377292820536355341991278094384819094009013198122735356871379531501116307000594072270134154439406937526918386524211993179284889230648843008812829935150366027793148021001411321217307658563104002253853343653621449685147594029366381110021944626623523164991826034992683260386000833714717298981190523549174449127083926990289145337764318428924253777424656906106620902644800303235318700174528116542290564924951989958824449436841932591882912819552664230018765321196050073903941243841411475655521989456445620400349479199297081760814439010951518116825751512884855600364662048901224364318005317037291722903590553254036146310275198415686865454307440646788471959253067766584788921457274528301584569221017701019917128441992098589950162529606652887903508793844585260007537332491857613778355754889538011223054860210742909285741947503121237358893246131827230264803888178048798261889267775252456105570283794960468247078163176427977394061229791802294641393321406355593573745743593086533044355133333177525006720827648690981485711172627067396459499519840069739448346553419029462428646794121299753387344146661248075559662205002344074988282446719689714370032917772476500769074839879292464920857518603688082923806599814576838380160914894950128016571062614136259892020402070102353808078399690163247300210736767149738531359938694843124067261267013526998798253681629189402032258122921262983576398390902326381429396955047933048440166280268912761913324185745270775348988505986388043850045336716786582667717479702840593658208945093602013788586753916419862920781853448465589811418487638378099573425029781948183496903067881529562670983104101637850029254964733991112852928592850723590498395504629987918101151324829543136485659606570611973449917348982038072633237401615964471668246549399096829280655642579504145840671471838126410081610043745199737693286620040057536477888740918174413602345752902337503653137044814091749187110824763197155388627630374301437409022527307110800706278923018529964170568539986012838916810330511723119623029860843060035626788946219943866873237825242914126938113789881155777428702403453798645282500091207744599844095910951150303806299497583085621952479538893975833289393800709904998038846206813274905056292002676312780531418223913182748315491113488632270659332420600347610080617479922027437241243377486228415539417854154699576929830592683788961446826724074069415802121595024600620834458216471515902681629736123139566718728400088686677028943292057662523628943123638062258586861650029032470258185729938884842626111522546227188933372457426288886069837362289159888335272044421729469133796042440870706275590680597536830001418604420683078167898844436975336889851566503440547528392620776233561428211197826079670204659646467935142211634952828283997545882844550066872930023362191173580970167285705400755052627991230188119493809865509499841752346159355265910639120587048296852733536633757785517779056202320325114183683705450402428247291276333723927050961707164001269280431048901407911560246369524156045398784020943242650210144654686543325429470906127655612048275074948208860364792990077992687560072227215125272301306270353873268619912562852853336862796695808888149489705948910835516473585931870163128646593337808780256794538937642692837940662124131207814290997609630944762074587874401659896943988970647294216798567896357813575843630374746049629362765175389959292190499136424609936337301401587892761932302898164918629350837286895461247298807842966591701787556320125964915143762923278811052586938561613428881132449034496286560231993693428153097262977016928740954434427130205615859973254531449336143960939265100463220752347684524631700042809110428611431700003746510151406183314347120165933754392150974573763489037680514527713342209135083459877381955450831289968532900895716038700877014279684012322464605665655293750525517549556781410455626080425768539174609418580499127632893630806134529901405015995944891907861642118624801974119645233806627102855955725429956899385193358483182069980162990769883536691419466779865437551759429203911882662195565384183852875202416918400628087471435165160270350684855675018270765008918284186161730235088047913007723070590018751012473047530114449522844563333800673481004820287364668999174311200088611896373669303449591512392301870600052735435146472125436392290929045988899609655533783038952057621997576929659922060590528137373485870837443417393467037603013501506360379949445739378198976059986059149859458982302403062731014615394823830614534284023357846598999838002831207869926826426536147777221155074664091907619656814735320275901428176273705824741467688010622762198246310704233305844739726920290995662270049761428699697264564244546792655286435657111043957855030359178256335544960180973486146437136974077915079604351421143945932074504980246802744512066781868369926252816585910121948474999190069016451579164531124329325401620838196716986126105502221737021939647982358783336851577673760990039174937144491054779942052343969309339893809260317749496766667052279980771236254005058959927477051518313482227226908100995593127582570199959337190456324989651650375887657999560162702817221301957390166695671698142504234093325615008299828900121082476845691865201243541452873695994540109772492676057555601580076608984700464201673763767905674186887359822977932698919593281001293391477353182686631030732640569323779774277940001627994777333430518020366036344029206462322302164702575202778640300156824018635487820552465613247585041907518740031468589866190471508242079852029158790780721002855788371489718840494959990110639446330054204196313226701452018295541567356416439958859663397424577653098046384367917061735181925736485190166871513977459185261075036587067748062847261364009719655260778113994457298030002209603254729395177604101034827823714297637887325963386095764999752720010899728361210651426139349822581159154366231229758692263168749949516997051393630020355574695178660886645358506247628200763565679210447286964666938640234
Marsh Posté le 21-01-2003 à 02:24:37
voila le problem, je dois faire un prog qui recherche les nombres palindrome ( ex : 3223 ).0
on demarre en entrant un entier ex 17.
il vas additioner 17+71= 88 hop c un palindrome niveau 1.
bref, le problem arrive quand il y a de grands, tres grans chiffrs.
alors jai fait ca.
on entre notre entier qui est converti en char[]
on inverse dans une seconde char2[].
ja i ecrit un algotythme qui additionne caracter par caractere apres conversion de char vers int, si il y a une retenue il lagarde ect ....
ca marche a moitier , mais au moins je peu en mettre des chiffrs.
le probleme c que desfois il me sort une reponse avec des caracteres faux qui ne devrait pas etrre la.
exemple : 2332p, ou 126ñ
...
aidez moi a trouver le probleme.
ATTENTION C TRES MOCHE.