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.
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 = 9 → 9² = 81, 8 + 1 = 9. Résultat : Nombre de Kaprekar.
Entrée :n = 45 → 45² = 2025, 20 + 25 = 45. Résultat : Nombre de Kaprekar.
Entrée :n = 10 → 10² = 100, 1 + 0 ≠ 10. Résultat : Pas un Nombre de Kaprekar.
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