Devoir pratique n°6 : nombres de Kaprekar et recherche dichotomique dans leur liste
Écris tes programmes en Python ou en algorithme et vérifie-les tout de suite, puis ouvre la correction exercice par exercice.
Le travail se fait sur ordinateur : chaque programme Python est enregistré sous le nom donné. Barème sur 20 points.
Exercice 1 : les nombres de Kaprekar (8 pts)
Un entier n ≥ 1 de k chiffres est un nombre de Kaprekar si, quand on coupe n² en une partie droite de k chiffres et une partie gauche, la partie droite n'est pas nulle et la somme des deux parties est n. Exemples : 45² = 2025 et 20 + 25 = 45 ; 297² = 88209 et 88 + 209 = 297 ; 9² = 81 et 8 + 1 = 9. 10 n'en est pas un : 10² = 100 donne 1 + 00, la partie droite est nulle.
- 1) Créer un programme Python et l'enregistrer sous le nom Kaprekar.py (1 pt).
- 2) Écrire la fonction Kaprekar(n) qui renvoie Vrai si n est un nombre de Kaprekar, Faux sinon (4 pts).
- 3) Écrire le programme principal en Python qui lit n (1 ≤ n ≤ 99999, saisie contrôlée) puis affiche « n est un nombre de Kaprekar » ou « n n'est pas un nombre de Kaprekar » (3 pts).
Exemple : pour 297, le programme affiche :
297 est un nombre de Kaprekar
Exercice 2 : chercher dans la liste des nombres de Kaprekar (12 pts)
On veut ranger dans un tableau T les n premiers nombres de Kaprekar (2 ≤ n ≤ 10), trouvés avec la fonction Kaprekar de l'exercice 1, puis dire si un entier x est l'un d'eux, et lequel, par recherche dichotomique. T est rangé dans l'ordre strictement croissant : on essaie les entiers 1, 2, 3… dans l'ordre.
On recopie dans ce programme la fonction Kaprekar de l'exercice 1.
- 1) Créer un programme Python et l'enregistrer sous le nom ListeKaprekar.py (1 pt).
- 2) Écrire la procédure Construire(T, n) qui range dans T les n premiers nombres de Kaprekar, en appelant Kaprekar (4 pts).
- 3) Écrire la fonction Dicho(T, n, x) qui renvoie l'indice de x dans T trouvé par recherche dichotomique, ou -1 si x n'est pas dans T (4 pts).
- 4) Écrire le programme principal en Python qui lit n (saisie contrôlée) et x, construit T puis affiche le rang de x parmi les nombres de Kaprekar ou un message, sous la forme des exemples (3 pts).
Les dix premiers nombres de Kaprekar sont 1, 9, 45, 55, 99, 297, 703, 999, 2223 et 2728. Exemples : pour n = 6 et x = 297, le programme affiche « 297 est le nombre de Kaprekar numéro 6 » ; pour n = 6 et x = 703, il affiche :
703 n'est pas parmi les 6 premiers nombres de Kaprekar
Correction détaillée
La correction de ce devoir est réservée aux abonnés. Elle donne l'analyse, l'algorithme en notation tunisienne, le programme Python vérifié et les erreurs fréquentes de chaque exercice. Avec un compte gratuit, tu peux ouvrir 3 corrections de ton choix.
Connecte-toi d'abord : créer un compte ou me connecter.
Tu as encore 0 correction(s) gratuite(s) à utiliser.
Il te faut un abonnement actif pour les autres corrections. Voir les tarifs ou demander un code sur WhatsApp, Instagram ou Facebook.
Les corrections gratuites de cet appareil ont déjà été utilisées, avec ce compte ou un autre : chaque appareil a droit à 3 corrections gratuites, quel que soit le nombre de comptes. Pour les autres corrections, il faut un abonnement. Voir les tarifs ou écrire sur WhatsApp.
Mission Carthage est en période de test : le site s'ouvre avec un code d'accès. Demande ton code sur WhatsApp, Instagram ou TikTok, puis tape-le sur missioncarthage.tn.
Cette correction n'est pas encore publiée. Reviens bientôt.
Impossible de charger la correction. Vérifie ta connexion et réessaie.
Toutes les corrections jusqu'au devoir de synthèse3 mois pour 20 TND, offre jusqu'au 30 novembre 2026 Envoyer à un parent pour qu'il paieSujet original écrit pour Mission Carthage, dans le format d'un devoir pratique d'informatique (3ème Sciences de l'informatique). Ce n'est pas un sujet officiel.
Tout le programme : 3ème année Sciences de l'informatique · Revoir le cours · Tous les devoirs