English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C ++Programme vérifiant si un nombre donné est un nombre heureux (tous les chiffres sont différents)

Donner un nombre, la tâche consiste à vérifier si le nombre entré est un numéro heureux et à afficher le résultat.

Qu'est-ce qu'un numéro heureux

Un numéro heureux est un nombre où chaque chiffre est différent. Si au moins un chiffre est répété, ce nombre ne sera pas considéré comme un numéro heureux.

Exemple

Entrée-: n = 1234
Sortie-: it is a lucky number
Explication-: Comme il n'y a pas de chiffre répété dans le numéro n, donc c'est un numéro heureux
Entrée-: n = 3434
Sortie-: it is not a lucky number
Explication-: Dans le numéro donné n, 3 et 4 repeating twice so it is not a lucky number

Voici les méthodes utilisées dans le programme donné-

  • Entrer le nombre n de l'utilisateur pour vérifier s'il s'agit d'un numéro heureux

  • Parcourir tout le nombre jusqu'à la taille d'un chiffre

  • Marquer chaque chiffre visité et vérifier s'il a été trouvé

  • Afficher si le numéro donné est un numéro heureux

Algorithme

Début
Étape1-> Déclarer une fonction pour vérifier si un nombre donné est chanceux ou non
   bool check_lucky(int size)
   déclarer bool arr[10]
   Boucle For int i=0 et i<10 et i++
      Définir arr[i] = false
   Fin
   Boucle While(size > 0)
      déclarer int digit = size % 10
      SI (arr[digit])
         return false
      Fin
      définir arr[digit] = true
      Définir size = size/10
   Fin
   return true
Étape 2-> Dans main() Déclarer int arr[] = {0,34,2345,1249,1232
   calculer int size = sizeof(arr)/sizeof(arr[0])
   Boucle For int i=0 et i<size et i++
      check_lucky(arr[i])?
      afficher is Lucky : afficher is not Lucky
   Fin
Arrêt

Exemple

#include<iostream>
using namespace std;
//S'il y a un nombre, retourne true.
bool check_lucky(int size) {
    bool arr[10];
    for (int i = 0; i <10; i++)
        arr[i] = false;
    while (size > 0) {
    int digit = size % 10;
      if (arr[digit])
           return false;
        arr[digit] = true;
        size = size/10;
    
    return true;

int main() {
    int arr[] = {0,34,2345,1249,1232};
    int size = sizeof(arr);/sizeof(arr[0]);
    for (int i = 0; i < size;++)
        check_lucky(arr[i]) ? cout << arr[i] << " est Lucky \n" : cout << arr[i] << " n'est pas Lucky \n";
    return 0;

Résultat de la sortie

19 is Lucky
34 is Lucky
2345 is Lucky
1249 is Lucky
1232 is not Lucky