Telechargé par soumaya bargaoui

serie d'exercices informatique python

publicité
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")
Téléchargement