Aller au contenu

E02 - QI⚓︎

Le problème

QI

Indices⚓︎

Pensez à bien choisir vos noms de variables ; vous êtes aussi notés sur la qualité de votre code, pas seulement son efficacité.

Solution⚓︎

Basique⚓︎

🐍 Script Python
nb_personnes = int(input())
liste_qi = list(map(int, input().split()))

plus_bas_qi = min(liste_qi)
qi_groupe = plus_bas_qi // nb_personnes
print(qi_groupe)

Avec POO⚓︎

🐍 Script Python
"""
author: Franck CHAMBON
problem: https://prologin.org/train/2013/semifinal/qi
"""

class Groupe():
    def __init__(self) -> None:
        "Constructeur"
        self.liste_qi = []

    def taille(self) -> int:
        "Renvoie le nombre de membres"
        return len(self.liste_qi)

    def ajoute(self, un_qi: int) -> None:
        "Ajoute un_qi d'un nouveau membre du groupe"
        self.liste_qi.append(un_qi)

    def qi(self) -> int:
        "Renvoie la partie entière du QI du groupe suivant la définition de Pratchett"
        return min(self.liste_qi) // self.taille()

# initialisation
groupe = Groupe()

## lecture de l'entrée
nb_personnes = int(input())
for qi in map(int, input().split()):
    groupe.ajoute(qi)

## test optionnel
assert nb_personnes == groupe.taille(), "Erreur avec le nombre de personnes !"

## écriture sortie
print(groupe.qi())