Jump to content
php.lv forumi

burtu seciba


werd

Recommended Posts

ieks vb.net veidoju aplikaciju, kurai jaizvada visi iespejamie burtu varianti, piemeram, ievadam a;b un c un mums izdruka

abc
acb
bac
bca
....
...

 

negribas visus variantus atseviski rakstit jo bus ari kad simboli ir 12 un tad varianti-uhhh!!

ir varianti ka to vienkarsi taisit?????

Edited by phpjanis
Link to comment
Share on other sites

Nu šādas lietas parasti meklē google.. ir ļoti daudz piemēri, atliek vien ierakstīt pareizo terminu, vārdu "algorithm" un ja baig vajag tad arī valodu :)

Principā visi šie algoritmi ir +/- publiski N-tos veidos/valodās

Link to comment
Share on other sites

Nu... Ar rekursīvu funkciju... Daudzi programmētāji aizmirst vienu lietu: rekursīvas funkcijas gadījumā (ja kompilators/interpretators nespēj patstāvīgi kaut ko darīt lietas labā) atmiņā vienlaicīgi ir jāpatur visi iterāciju rezultāti, kas 12 elementu gadījumā būtu.... 12!*12 baiti (pēdējais divpadsmit tādēļ, ka divpadsmitsimbolu virkne)= 5748019200 Baitu = ~5,35GB ! ;)

Edited by Aleksejs
Link to comment
Share on other sites

Tik traki jau nu nav. Rekursija ies tikai 12 dziļumā, katrā līmenī paturot stekā tekošo elementu (12 baitus) + vēl nelielu papildinfo. Tā ka atmiņa tur tiks patērēta diezgan maz (12*12). Rekursijas dziļums jau nav 12!, bet gan tikai 12.

Link to comment
Share on other sites

Neviens arī neapgalboja, ka rekursijas dziļums būs 12!*12. Aleksejs teica to par aizņemtās atmiņas daudzumu.

 

Katrā ziņā, tādu algoritmu kā vajag autoram, var itin viegli uzrakstīt nerekursīvu. Pirmajā manis dotajā linkā ir uzrakstīts kā.

Link to comment
Share on other sites

×
×
  • Create New...