Citat:
Stefan Jovicevic kaže:
Imate li ideju za funkciju koja proverava da li u broju ima ponovljenih cifara, meni je palo na pamet da svaku izdvajam i posebno proveravam sa ostalim ciframa, postoji li nesto prakticnije?
|
Evo ti još jedne jednostavne ideje ukoliko samo treba da utvrdiš da li se cifre ponavljaju (ne i koje konkretno).
Dovoljno je da uporediš dužinu tokenizovane (string) forme broja iz koje su uklonjeni duplikati sa ukupnim brojem cifara (dužinom stringa). Ukoliko se razlikuju to znači da se bar jedna cifra ponavlja. LINQ je kao stvoren za ovo.
Kod:
static bool hasDuplicates(int number)
{
char[] numberStr = number.ToString().ToCharArray();
return numberStr.Distinct().Count() < numberStr.Count() ? true : false;
}