Information

Author(s) Tanguy De Bels
Deadline No deadline
Submission limit No limitation

Sign in

[Q2] Somme d'entiers

Un mathématicien se pose la question de savoir combien de séries d'entiers consécutifs strictement positifs existent, dont la somme est égale à un nombe entier donné n. Donc on considère des séries i,i+1,i+2,…,i+ki>0 et i + i+1 + i+2 + … + i+k = n.

Par exemple, pour n = 100, la somme de la série 18,19,20,21,22 est 18 + 19 + 20 + 21 + 22 = 100. Mais combien de telles séries existent dont la somme est égale à n ? Pour n = 100, il y en a 3 :

  • 9, 10, 11, 12, 13, 14, 15, 16
  • 18, 19, 20, 21, 22
  • 100

Implémentez une fonction combien(n) qui, pour un nombre entier strictement positif n, retourne un entier représentant le nombre de séries d'entiers consécutifs strictement positifs dont la somme est égale à n. Par exemple : combien(100) retourne 3.

def combien(n) :
    """
    @pre:  n est un nombre entier > 0
    @post: retourne le nombre de series d’entiers consecutifs
          strictement positifs dont la somme est egale a n
    """
    # à compléter

Si nécessaire vous pouvez aussi définir des fonctions auxiliaires.


Question 1: combien
Question 2: Zone de test

Insérez votre code de test optionnel ci-dessous. Vous pouvez utiliser print pour tester votre programme. Votre code de test sera exécuté à la suite de la définition de votre méthode combien et d’éventuelles fonctions auxiliaires ci-dessus (il ne faut pas les recopier ici).

Exemple: