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 accesat site-ul nostru dedicat Informatică. Sperăm că informațiile furnizate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați la favorite!