Exercices d’algorithmique, 1

1er TD, quelques exercices d’algorithmique de base.

TD1 au Lycée Lakanal (sujet rédigé par Arnaud Basson).

exos_algo1.sommeDiviseurs(n)[source]

Calcule la somme des diviseurs positifs de n.

exos_algo1.estParfait(n)[source]

Vérifie que \(2n = \sum_{d|n} d\).

exos_algo1.prochainParfait(n)[source]

Calcul le prochain nombre parfait.

exos_algo1.nombreMaximum(t)[source]

Calcule le nombre maximum d’occurences du maximum.

exos_algo1.estPermutation(t)[source]

Vérifie si t est une permutation.

exos_algo1.reciproque(t)[source]

Calcule la permutation réciproque.

exos_algo1.s(n)

Sortie du script

$ python3 exos_algo1.py
On cherche les nombres n = s(n) entre 0 et 300000.
Le nombre 0 est egal a la somme de ses chiffres eleves a la puissance 5
Le nombre 1 est egal a la somme de ses chiffres eleves a la puissance 5
Le nombre 4150 est egal a la somme de ses chiffres eleves a la puissance 5
Le nombre 4151 est egal a la somme de ses chiffres eleves a la puissance 5
Le nombre 54748 est egal a la somme de ses chiffres eleves a la puissance 5
Le nombre 92727 est egal a la somme de ses chiffres eleves a la puissance 5
Le nombre 93084 est egal a la somme de ses chiffres eleves a la puissance 5
Le nombre 194979 est egal a la somme de ses chiffres eleves a la puissance 5
Inutile de chercher au dela de 300000 puisque la fonction n > floor(log(n, 10)) * 9**5 >= s(n) pour n > 300000.
Il y a 8 nombres entiers a etre egaux a la somme de leurs chiffres eleves a la puissance 5.

Le fichier Python se trouve ici : exos_algo1.py.