Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Problemă  (Citit de 5048 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« : Noiembrie 30, 2015, 19:52:57 »

Fie n și k două numere naturale. Definim m(k) = numărul minim de înmulțiri
pentru a obține nk. Spre exemplu, pentru k =15, avem m(15) = 5, întrucât:
n * n = n^2
n^2 * n = n^3
n^3 * n^3 = n^6
n^6 * n^6 = n^12
n^12 * n^3 = n^15
Scrieți un program în C care calculează m(1) + m(2) + .... + m(200).

Am nevoie doar de o idee de rezolvare ? De un hint, de orice m-ar putea ajuta să-mi dau seama cum aș putea rezolva problema...
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #1 : Decembrie 01, 2015, 13:30:06 »

Din câte știu eu nu există soluție polinomială la problema asta. https://en.wikipedia.org/wiki/Addition-chain_exponentiation.

Unde ai găsit enunțul?
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #2 : Decembrie 01, 2015, 13:59:57 »

S-a dat o problema asemanatoare la nationala ACM din 2013: http://acm.tju.edu.cn/toj/vcontest/showp9268_C.html

Poate te ajuta acea solutie http://www.infoarena.ro/blog/acm-2013-etapa-nationala-partea-ii
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #3 : Decembrie 01, 2015, 19:39:36 »

Cel puțin în cazul în care ai doar adunări, soluția aia e corectă doar fiindcă n e mic.. http://stackoverflow.com/a/15856054

Să tot vedem în concurs probleme deschise care ies banal (by pure chance) pe cazuri mici. Quality stuff.
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #4 : Decembrie 02, 2015, 19:35:29 »

Din câte știu eu nu există soluție polinomială la problema asta. https://en.wikipedia.org/wiki/Addition-chain_exponentiation.

Unde ai găsit enunțul?

E temă de laborator... și am încercat s-o rezolv cu programare dinamică, am căutat o formulă, apoi nu am mai avut idei.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines