Titlul: O problema Scris de: Dragos din 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? Titlul: Răspuns: O problema Scris de: Simoiu Robert din 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 ?
Titlul: Răspuns: O problema Scris de: Dragos din 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:-?. Titlul: Răspuns: O problema Scris de: FMI Romila Remus Arthur din 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. Titlul: Răspuns: O problema Scris de: Dragos din 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.Titlul: Răspuns: O problema Scris de: Andrei Parvu din 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? Titlul: Răspuns: O problema Scris de: Savin Tiberiu din 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].
Titlul: Răspuns: O problema Scris de: Andrei Parvu din Septembrie 08, 2010, 15:47:11 @tibi: da, ai dreptate, am modificat
Titlul: Răspuns: O problema Scris de: Dragos din 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. Titlul: Răspuns: O problema Scris de: Savin Tiberiu din Septembrie 08, 2010, 17:15:31 Da iei minimul, parvu asta e cam neatent :)
Eu parca sa zic ca am vazut-o la o nationala pe la gimnaziu. Titlul: Răspuns: O problema Scris de: Andrei Parvu din Septembrie 08, 2010, 21:24:28 Da, sunt cam neatent :P. Daca dadeam admitere la Unibuc, probabil nu intram :D
Titlul: Răspuns: O problema Scris de: Stefan Istrate din Septembrie 09, 2010, 08:20:16 Intrai. :P Ultima medie la buget a fost 5.45.
Titlul: Răspuns: O problema Scris de: Cezar Mocan din Septembrie 09, 2010, 20:59:01 Cred ca am avut-o eu la OJI intr-a 8-a :). OJIGim 2008 cred...
Titlul: Răspuns: O problema Scris de: Parfene Narcis din 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 |