Exercice langage C: Calculer les nombres amis

Enoncé:

Deux nombres M et N sont appelés nombres_amis si la somme des diviseurs de M est égale à N et la somme des diviseurs de N est égale à M

Travail à Faire: 

Ecrire une fonction amis qui retourne le nombre_amis (s’il existe) d’un nombre passé en paramètre, cette fonction utilise la fonction somme_div de l’exercice Précédent.

Ecrire un programme principal qui affiche tous les nombres_amis inférieurs à une certaine limite.

/* Calcul des nombres amis */

#include

/* calcul de la somme des diviseurs du parametre nombre */
int somme_div ( int nombre );

/* calcul de l'ami du parametre nombre */
int amis ( int nombre );

int main ( )
{
int nombre, limite, nombre_ami;

printf("Limite : "); scanf("%d", &limite);

for (nombre=1; nombre{
nombre_ami = amis(nombre);
if (nombre_ami != nombre)
{
printf("%d et %d sont amis\n", nombre, nombre_ami);
}
}

return 0;
}

int somme_div ( int nombre )
{
int i, somme = 0;
for (i=1; i{
if (nombre % i == 0)
{
somme = somme + i;
}
}
return somme;
}

int amis ( int nombre )
{
int unAmis;
unAmis = somme_div(nombre);
if (somme_div(unAmis) == nombre)
{
return unAmis;
}
else
{
return nombre;
}
}

Article publié le 23 Février 2012 Mise à jour le Lundi, 07 Novembre 2022 15:26 par BENKIRANE Fatima Ezzahra