Programmation en Python

Petites références Python et Numpy

J’ai écrit les documents suivants, que je mets à la disposition de tous.
Dans la perspective des nouveaux programmes d’informatique pour tous, ils pourront être utiles aussi bien aux élèves qu’aux enseignants.
Les conditions d’utilisation sont celles de la licence Creative Commons

Si vous téléchargez plusieurs fois le même fichier, le compteur n’est incrémenté qu’une fois.

  1. Un mémento du langage Python (environ 70 pages)
    Une petite référence Python
  2. Un mémento de la bibliothèque Numpy (environ 60 pages)
    Une petite référence Numpy

Quelques exercices du “Project Euler”

Le Project Euler est situé à l’adresse suivante: http://projecteuler.net.

Il propose aux apprentis programmeurs, mais aussi aux programmeurs chevronnés, la résolution d’une très grande quantité de problèmes (576 à ce jour, et un nouveau chaque semaine). Si les tous premiers énoncés sont assez faciles à résoudre, le niveau d’exigence s’élève rapidement. Pour un problème donné, on peut soumettre sa propre solution sur le site: si celle-ci est correcte, on accède aux pages correspondantes du forum et on peut comparer ses propres solutions à celles des autres utilisateurs du site (c’est là qu’on se rend compte qu’on a des progrès à faire!)

On peut toujours tricher et consulter un autre site qui livre pour rien la quasi-totalité des solutions des problèmes du Project Euler, et passer aux yeux des autres pour un génie de la programmation, mais pas à ses propres yeux (et de toutes façons, les responsables de Project Euler savent très bien repérer et bannir les tricheurs).

À ce jour, j’ai dû résoudre une soixantaine d’exercices du Project Euler. Vous trouverez ici mes solutions à quelques-uns des tous premiers énoncés (réponses écrites en Python). Anyway, si vous avez le temps pour ça, je vous engage à essayer de répondre par vous-même aux problèmes posés avant de consulter les solutions.

Euler 001: somme des entiers de [0,N[ divisibles par 3 ou par 5
Euler 002: somme des nombres de Fibonacci pairs et inférieurs à N
Euler 003: fonction donnant le plus grand facteur premier de N
Euler 004: palindrome max produit de deux entiers à trois chiffres
Euler 005: plus petit entier >0 et divisible par les entiers de 1 à N
Euler 006: fonction calculant \bigl(\sum_{k=1}^{n}k\bigr)^{2}-\sum_{k=1}^{n}k^{2}
Euler 007: fonction renvoyant le n-ième nombre premier
Euler 008: produit max de 5 chiffres consécutifs de n (1000 chiffres)
Euler 009: triplets rectangulaires de somme donnée
Euler 010: somme des entiers premiers strictement inférieurs à N
Euler 011: produit max de 4 nombres adjacents d’une grille 20\times 20
Euler 012: plus petit nombre triangulaire ayant plus de N diviseurs
Euler 013: dix premiers chiffres de la somme de cent nombres
Euler 014: plus longue suite avant retour à 1 dans suite de Collatz
Euler 015: nombre de déplacements dans une grille
Euler 016: somme des chiffres de la représentation décimale de 2^{N}
Euler 017: combien de lettres pour les nombres de 1 à 1000 en anglais
Euler 018: somme max des parcours d’une grille triangulaire
Euler 019: combien de 1ers du mois sont un dimanche, de 1901 à 2001
Euler 020: somme des chiffres de l’écriture décimale de l’entier N!
Euler 021: somme des paires d’amiables strictement inférieurs à N
Euler 022: total des scores dans un fichier de 5000 noms
Euler 023: somme des n>0 qui ne sont pas somme de deux abondants
Euler 024: N-ième permutation lexicographique de ‘0123456789’
Euler 025: indice du plus petit nombre Fibonacci F_{n} à N chiffres
Euler 026: pour quel d < N la période de 1/d est-elle maximum?
Euler 029: entiers distincts parmi les a^{b} avec a,b\) entiers, [latex]2\le a,b < N
Euler 030: entiers \ge2 sommes des puissances 5èmes de leurs chiffres
Euler 031: façons de payer une somme s avec des pièces d'une liste p
Euler 032: produits n=pq contenant une seule fois les chiffres 1 à 9
Euler 033: fractions xy/yz qui se simplifient en x/z
Euler 034: entiers qui sont sommes des factorielles de leurs chiffres