2010-06-11 5 views
-1

manière efficace pour déterminer si le nombre a chiffres identiques en CComment déterminer si le nombre a chiffres identiques en C

+0

Que voulez-vous dire par chiffres identiques? quelque chose comme: 9999? – AraK

+0

Peux-tu donner un exemple? – Tanuj

+0

Soyez plus précis; donne des exemples. Voulez-vous un booléen oui/non s'il y a des chiffres répétés? La fonction doit-elle renvoyer le nombre total de chiffres répétés? Etais – Cam

Répondre

0

probablement vous voulez convertir en première chaîne (de sorte que vous pouvez facilement travailler avec des chiffres d'un nombre). Ensuite, appliquez les algorithmes de chaîne habituels que vous voulez.

4

si son juste pour répéter occurances en décimal dans le même numéro: -

int contains_repeat(int x) 
{ 
    int occurances = 0; 
    while(x>0) 
    { 
      if(occurances & 1 << (x % 10)) return 1; 
      occurances |= 1 << (x % 10); 
      x = x/10; 
    } 
    return 0; 
} 

si son tout de même

int all_the_same(int x) 
{ 
    int digit = x%10; 
    while(x>0) 
    { 
     if(x%10 != digit) return 0; 
     x = x/10; 
    } 
    return 1; 
} 

si vous le voulez pour une autre base, il suffit de passer « int base » et la base de l'utilisation à la place de 10.

0

Exemple:

if (4444 % 1111 == 0) // all digits are the same 
Questions connexes