Remplacez les TODO du programme ci-dessous afin qu'il calcule si deux nombres entrés par l'utilisateur sont amicaux.
Deux nombres sont amicaux si la somme des diviseurs entiers de l'un (sauf lui-même) vaut l'autre et réciproquement.
Veillez à créer la fonction somme_diviseurs comme demandé dans le code !
Exemple
Par exemple, si l'utilisateur indique 220 et 284, le programme devrait afficher:
220 284 220 et 284 sont des nombres amicaux
En effet,
- La somme des diviseurs de
220= 1+2+4+5+10+11+20+22+44+55+110 = 284 - La somme des diviseurs de
284= 1+2+4+71+142 = 220
Évaluation
Votre code va être compilé puis testé avec plusieurs valeurs d'entrées différentes pour vérifier qu'il fonctionne bien.
Cependant, prenez déjà l'habitude de tester votre code vous-mêmes car il n'y aura pas INGInious pour le vérifier automatiquement dans l'exercice récapitulatif.
Veuillez aussi suivre les bonnes pratiques suivantes car INGInious ne sait pas les vérifier automatiquement mais elles seront vérifiées dans l'exercice récapitulatif :
- Les noms des variables, constantes, paramètres et fonctions créés sont-ils pertinents ? Correspondent-ils vraiment à ce qu'ils doivent contenir ?
- Est-ce que le code est correctement factorisé ? Est-ce qu'il est possible de déplacer du code en dehors des sélections ou de créer des fonctions pour avoir moins de code dupliqué ?
- Est-ce que les sélections et conditions sont correctement organisées ? Est-ce qu'il est possible de changer l'ordre des sélections ou des conditions pour diminuer leur nombre ?
- Est-ce que toutes les fonctions sont bien spécifiées avec des préconditions et postconditions claires ?
INGInious