Exercice en C : Vérifier si un Nombre est un Nombre de Kaprekar

Alors champion connais tu le nombre de Kaprekar ? c’est un nombre entier tel que, si vous prenez son carré, puis séparez ce carré en deux parties, la somme de ces deux parties donne le nombre original.

Exemple :

  • Le nombre 9 est un nombre de Kaprekar, car 92 = 81 et en séparant les chiffres de 81, on obtient 8 et 1, et 8+1=9.
  • Le nombre 45 est également un nombre de Kaprekar, car 452 = 2025 et en séparant 2025 en 20 et 25, on obtient 20+25=45.

Écrivez un programme C qui, pour un entier n donné par l'utilisateur vérifie si n est un nombre de Kaprekar. Si oui, affiche un message disant que n est un nombre de Kaprekar. Si non, affiche un message disant que n n'est pas un nombre de Kaprekar.
 

Exercice rédigé par Yankam Joël © 2024

Correction EXERCICE PROGRAMMATION C :

correction algorithme de kaprekar en C : Vérifier si un Nombre est un Nombre de Kaprekar

Présentation du Programme

Ce programme en C vérifie si un nombre donné est un nombre de Kaprekar. Un nombre est dit de Kaprekar si, lorsque son carré est divisé en deux parties (gauche et droite), la somme de ces deux parties est égale au nombre d'origine.

Code du Programme

#include <stdio.h>
#include <math.h>

int main() {
    int n, n_square, num_digits, left_part, right_part, divisor;

    // Lecture de l'entier
    printf("Entrez un nombre entier n : ");
    scanf("%d", &n);

    // Calcul du carré du nombre
    n_square = n * n;

    // Calcul du nombre de chiffres du carré de n
    num_digits = (int)log10(n_square) + 1;

    // Déterminer la position où couper le carré en deux parties
    divisor = (int)pow(10, num_digits / 2);  // Diviseur pour séparer les parties

    // Séparation du carré en deux parties
    right_part = n_square % divisor;  // Partie droite
    left_part = n_square / divisor;   // Partie gauche

    // Vérification si la somme des deux parties égale le nombre original
    if (left_part + right_part == n) {
        printf("Le nombre %d est un nombre de Kaprekar.\n", n);
    } else {
        printf("Le nombre %d n'est pas un nombre de Kaprekar.\n", n);
    }

    return 0;
}
            

Explications du Programme

  • Lecture de l'entier : L'utilisateur entre un entier n.
  • Calcul du carré : Le carré de n est calculé avec n * n.
  • Séparation du carré : Le carré est séparé en deux parties (gauche et droite) selon le nombre de chiffres.
  • Condition Kaprekar : Si la somme des deux parties est égale au nombre d'origine, alors le nombre est un nombre de Kaprekar.

Exemple d'Exécution

Voici quelques exemples d'exécution du programme :

  • Entrée : n = 99² = 81, 8 + 1 = 9. Résultat : Nombre de Kaprekar.
  • Entrée : n = 4545² = 2025, 20 + 25 = 45. Résultat : Nombre de Kaprekar.
  • Entrée : n = 1010² = 100, 1 + 0 ≠ 10. Résultat : Pas un Nombre de Kaprekar.

© 2024 - Créé par Yankam Joel

Si vous avez trouvé cet exercice corrige en Langage C de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 652027193 | Réaliser Par Joël_Yk

Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam