Exercice1 : Un nombre heureux est un entier strictement positif, qui, lorsqu'on additionne les carrés de chacun de ses chiffres, puis on additionne les carrés des chiffres de la somme obtenue et ainsi de suite, on obtient un entier à un seul chiffre et est égal à 1. Exemple : 973 est un nombre heureux car 92+72+32=139 12+32+92=91 92+12=82 82+22=68 62+82=100 12+02+02=1 Écrire un programme qui permet de chercher et d’afficher tous les nombres heureux de l’intervalle [10, 1000]. Exercice2 : Nombre distinct : Un entier est dit distinct s’il est composé de chiffres distincts (différents). Ecrire un programme python qui permet de saisir un entier n(n>0), puis de vérifier et d’afficher si cet entier est distinct ou non. Exemple : N=1273 est dit distinct car il est formé par les chiffres 1,2, 7 et 3 qui sont tous distincts, donc, le programme affichera : cet entier est distinct N=1565 est dit non distinct car il est formé par les chiffres 1,5, 6, 5 qui ne sont pas tous distincts (le chiffre 5 se répète deux fois, donc le programme affichera : cet entier est non distinct Exercice3 : Ecrire un programme qui permet de remplir un tableau A par n entiers supérieurs à 100 (5<n<21), puis afficher tous les éléments de A qui sont formés par des chiffres distincts. Exemple : Si n=6 et A= 43876 / 87778 / 1002 / 8653 / 123 / 676554 / 9800 / 9102 / Alors le programme affichera les entiers suivants : 43876 ; 8653 ; 123 ; 9102 Exercice 4 Un nombre premier circulaire (premier permutable) est un nombre premier avec la propriété que le nombre généré à chaque étape intermédiaire lors d'une permutation circulaire de ses chiffres (en base dix) soit premier. Exemple : 1193 est premier circulaire, car 1931, 9311 et 3119 sont aussi des nombres premiers. 23 n’est premier circulaire, car 32 n’est pas premier Ex1 Ex2 Ex3 Ex4 def somme_carrés_chiffres (x) : ch = str (x) s=0 for i in range (len (ch)) : s += int (ch [i]) * int (ch [i]) return s def est_un_nombre_heureux (x) : a = somme_carrés_chiffres (x) while (a // 10 != 0) : a = somme_carrés_chiffres (a) if (a == 1) : return True else : return False #programme principal for j in range (10,1001) : if (est_un_nombre_heureux (j)) : print (j,"est un nombre heureux")