Se pare ca rezolvarea nu v-a creat deloc probleme. Felicitari !
De remarcat este faptul ca vectorii de constante au fost la inaltime.
Nu am nimic impotriva si se aplica si in concurs.
De remarcat ca am fost baiat finut :-) deoarece primele 69 de numere
puternice (limitele problemei) incapeau pe longint. (asta nu inseamna ca
mai mult de jumatate din surse nu au folosit comp sau extended :-) ).
Pe scurt, rezolvarea mea se baza pe problema pe care am propus-o la
clasa a IX-a pe municipiu, si anume aflarea celui mai mic numar cu k divizori.
Aflam toate numerele minime cu k divizori, pentru k de la 1 la o anumita
valoare (care sa-mi acopere datele problemei). Apoi generam toate numerele
puternice astfel: un cel mai mic numar cu k divizori era puternic daca nu
exista un numar mai mic decat el care sa aiba mai multi divizori.
Ca sa fiu mai clar, sa consideram vectorul Minim, in care Minim[k] este
cel mai mic numar cu exact k divizori.
Minim[k] era puternic daca pentru orice i>k, Minim[i]>Minim[k].
Nu stiu cati dintre voi au folosit metoda mea de rezolvare, dar din cate
am remarcat eu "citind" sursele, nu prea multi. Am impresia ca multi au gasit
o solutie mai simpla. De data asta nu o sa mai fac un apel de genul "rog
concurentii sa posteze rezolvarea lor pe lista", caci am vazut ca nu merge,
ci o sa desemnez un concurent anume sa povesteasca rezolvarea lui pe lista.
Castigatorul este.... Bogdan Batog. Mi-a placut foarte mult sursa lui, care
desi era in Pascal si nu in C, programul principal avea mai putin de un ecran.
Stiu ca o sa ma injure cu prima ocazie :-) dar imi asum riscul :-).
|
|