Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Cifrele unui numar  (Citit de 1260 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
caen1
Client obisnuit
**

Karma: 22
Deconectat Deconectat

Mesaje: 75



Vezi Profilul
« : Iunie 01, 2011, 18:53:28 »

As vrea sa stiu cum este cel mai eficient sa determin daca doua numere au aceleasi cifre de acelasi numar de ori. Eu fac asta cu o matrice, unde v[k][j] este numarul de cifre J din numarul K, iar apoi compar J-urile pentru K1 si K2. Dar vad ca se prefera aranjarea in ordine descrescatoare a cifrelor si compararea numerelor obtinute. Pare mai simplu, dar cu prima idee nu trebuie decat sa trec o data prin numar si sa modific matricea. Cu a doua idee trebuie sa trec de 10 ori prin numar. Imi scapa mie ceva, sau de ce este preferata a doua metoda? Multumesc!
Memorat
scipianus
Nu mai tace
*****

Karma: 129
Deconectat Deconectat

Mesaje: 345



Vezi Profilul
« Răspunde #1 : Iunie 01, 2011, 19:30:54 »

Adica tu vrei sa vezi daca cele 2 cuvinte sunt anagrame sau permutari ale aceluiasi sir de cifre?  Eh?
Adica gen 2817 cu 7821 ?
Pai o alta metoda convenabila cred ar fi sa le transformi in siruri de caractere si sa le sortezi cu sort,iar apoi sa verifici cu strcmp daca coincid.  Think
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #2 : Iunie 01, 2011, 19:34:56 »

Daca ai asa, cel mai usor ar fi sa faci ceva gen :
  • cnt1[c] = de cate ori apare cifra c in sirul 1, si cnt2[c] same, si apoi sa vezi daca acest vector coincide, adica
  • for c = 0,9 if (cnt1[c] = cnt2[c]) increasesolution.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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