Răspuns :
Poti folosi un vector de frecventa , o cautare hardcore sau chiar mai multe solutii.
Eu sutin folosirea unui vector de frecventa, cel mai util din punct de vedere al cautarii multiplicitatii. Un vector de frecventa este un vector ce pastreaza pe pozitia i de cate ori apare valoarea i. De exemplu pentru 2213 avem vectorul de frecventa f : 1 2 1 , unde 1 apare o singura data, 2 apare de 2 ori iar 3 o singura data.
int Cifre (int n ) {
int frecventa[100] , i , cate_numere = 0, contor = 0;
if (n == 0 )
return 0;
while (n != 0) {
i = n%10;
contor ++;
frecventa[i] ++ ;
n = n/10;
}
for ( i = 1; i<= contor ; i++)
if ( frecventa[i] == 1 )
cate_numere ++;
return cate_numere;
}
Eu sutin folosirea unui vector de frecventa, cel mai util din punct de vedere al cautarii multiplicitatii. Un vector de frecventa este un vector ce pastreaza pe pozitia i de cate ori apare valoarea i. De exemplu pentru 2213 avem vectorul de frecventa f : 1 2 1 , unde 1 apare o singura data, 2 apare de 2 ori iar 3 o singura data.
int Cifre (int n ) {
int frecventa[100] , i , cate_numere = 0, contor = 0;
if (n == 0 )
return 0;
while (n != 0) {
i = n%10;
contor ++;
frecventa[i] ++ ;
n = n/10;
}
for ( i = 1; i<= contor ; i++)
if ( frecventa[i] == 1 )
cate_numere ++;
return cate_numere;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de ajutor. Pentru orice întrebare sau clarificare suplimentară, echipa noastră vă stă la dispoziție. Revenirea dumneavoastră ne onorează – nu uitați să ne salvați în lista de favorite!