Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: O problema  (Citit de 2996 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« : Septembrie 08, 2010, 12:00:19 »

Fie A multimea tuturor numerelor naturale de forma 2x * 3y * 5z cu x,y,z=0,1,2,....
Aflati si afisati primele N elemente ale  multimii A in ordine crescatoare.

Complexitate: O(N).

Imi da si mie cineva o idee?
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #1 : Septembrie 08, 2010, 12:25:06 »

Deci stai sa inteleg : primul element al multimii o sa fie 2 * 3 * 5, al doilea 22 * 32 * 52 si tot asa ?
Memorat
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #2 : Septembrie 08, 2010, 12:32:28 »

Deci stai sa inteleg : primul element al multimii o sa fie 2 * 3 * 5, al doilea 22 * 32 * 52 si tot asa ?

cu x,y,z=0,1,2,....


Nu!
Primul element este 1=20 * 30 * 50.
Oricum nu stiu cat de relevant este.
Algoritmul banuiesc ca este acelasi:-?.
Memorat
R.A.R
Strain
*

Karma: -7
Deconectat Deconectat

Mesaje: 37



Vezi Profilul
« Răspunde #3 : Septembrie 08, 2010, 12:35:18 »

Ar veni 20*30*50 apoi 21*30*50,20*31*50 , 22*30*50 , 20*30*51 , 21*31*50.
Daca ar fi cum spuneti voi sarcina ar trebui sa fie 2x*3x*5x,x=0,1,2.
Memorat
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #4 : Septembrie 08, 2010, 12:41:48 »

Primele 8 numere sunt:
1; 2; 3; 4; 5; 6; 8; 9 adica 20*30*50, 21*30*50,20*31*50 , 22*30*50 , 20*30*51 , 21*31*50...

2x*3x*5x,x=0,1,2.
Nu este aceiasi putere pentru 2,3,5 ci sunt puteri diferite.
« Ultima modificare: Septembrie 08, 2010, 12:49:39 de către Dragos » Memorat
andrei.12
Echipa infoarena
Nu mai tace
*****

Karma: 107
Deconectat Deconectat

Mesaje: 381



Vezi Profilul
« Răspunde #5 : Septembrie 08, 2010, 14:19:42 »

Vom genera solutia intr-un vector (sa zicem V), care la final va avea primele N elemente ale multimii in ordine sortata.
Bineinteles V[ 1 ] = 1; Vom dori sa generam vectorul deja in ordine crescatoare, asa ca vom tine trei pointeri (p1, p2, p3) cu urmatoarea semnificatie (sa presupunem ca pana acum am generat primele K elmente):
p1 = cel mai mic element din V care inmultit cu 2 este mai mare decat V[ k ]
p2 = cel mai mic element din V care inmultit cu 3 este mai mare decat V[ k ]
p3 = cel mai mic element din V care inmultit cu 5 este mai mare decat V[ k ].

Asadar la pasul K, luam minimul dintre (V[p1] * 2, V[p2] * 3, V[p3] * 4), il trecem la pozitia V[K + 1] si incrementam pointerul corespunzator maximului.

Bineinteles ca inital p1 = p2 = p3 = 1;

Sper ca este ok solutia si explicatia.


Problema nu s-a dat la admitere la Informatica la Unibuc?
« Ultima modificare: Septembrie 08, 2010, 21:23:08 de către Andrei Parvu » Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #6 : Septembrie 08, 2010, 15:26:35 »

@parvu: la pointerii aia cred ca vroiai sa zici cel mai mic element din V care inmultit cu X (X = 2, 3, 5) sa fie mai mare decat V[k]. Cum ai zis tu toti pointerii ar fi pe V[k].
Memorat
andrei.12
Echipa infoarena
Nu mai tace
*****

Karma: 107
Deconectat Deconectat

Mesaje: 381



Vezi Profilul
« Răspunde #7 : Septembrie 08, 2010, 15:47:11 »

@tibi: da, ai dreptate, am modificat
Memorat
APOCALYPTO
Nu mai tace
*****

Karma: 3
Deconectat Deconectat

Mesaje: 250



Vezi Profilul
« Răspunde #8 : Septembrie 08, 2010, 16:57:42 »

In primul rand multumesc pentru raspuns.
In al doilea rand nu trebuie sa selectez minimul dintre (V[p1] * 2, V[p2] * 3, V[p3] * 4)?
In al treilea rand, este de la admiterea de anul acesta de la Unibuc dar problema mi s-a parut familiara(sigur nu exista pe infoarena sau pe campion mai degraba:-? ) insa nu-mi aduc aminte s-o fi facut.
Probabil doar am citit-o si negasind solutia am lasat-o balta.
Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #9 : Septembrie 08, 2010, 17:15:31 »

Da iei minimul, parvu asta e cam neatent Smile
Eu parca sa zic ca am vazut-o la o nationala pe la gimnaziu.
Memorat
andrei.12
Echipa infoarena
Nu mai tace
*****

Karma: 107
Deconectat Deconectat

Mesaje: 381



Vezi Profilul
« Răspunde #10 : Septembrie 08, 2010, 21:24:28 »

Da, sunt cam neatent  Tongue. Daca dadeam admitere la Unibuc, probabil nu intram  Very Happy
Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #11 : Septembrie 09, 2010, 08:20:16 »

Intrai. Tongue Ultima medie la buget a fost 5.45.
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
CezarMocan
Nu mai tace
*****

Karma: 252
Deconectat Deconectat

Mesaje: 567



Vezi Profilul
« Răspunde #12 : Septembrie 09, 2010, 20:59:01 »

Cred ca am avut-o eu la OJI intr-a 8-a Smile. OJIGim 2008 cred...
Memorat
nparfene2004
Client obisnuit
**

Karma: 22
Deconectat Deconectat

Mesaje: 81



Vezi Profilul
« Răspunde #13 : Septembrie 09, 2010, 21:29:39 »

Asta este problema lui Hamming (sau sirul lui Hamming) care nu are legatura cu distanta Hamming. E ceva mentionat pe aici:
http://en.wikipedia.org/wiki/Regular_number
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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