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
Autoévaluation
Une fois votre programme écrit, vérifiez et corrigez les points suivants:
- Chaque instruction se termine-t-elle bien par un point virgule ?
- La séquence d'instruction après l'accolade ouvrante est-elle alignée mais légèrement décalée vers la droite par rapport à "
main
" ? - Chaque variable est-elle déclarée ? C'est-à-dire, avez vous déterminé le type de chacune de vos variables ?
- Avez-vous utilisé la fonction de lecture qui correspond au type de la variable dont vous voulez obtenir la valeur ? Par exemple, si vous voulez obtenir un int, avez-vous bien utilisé "
scanf("%d", &votre_variable)
" ? - Avez-vous bien créé les fonctions demandées ?
Une fois votre programme corrigé, exécutez-le ! Si tout semble correct, postez votre réponse sur Webcampus !