/* Calcul des nombres parfaits */
#include
/* calcul de la somme des diviseurs du parametre nombre */
int somme_div ( int nombre );
/* test si le parametre nombre est parfait */
int parfait ( int nombre );
int main()
{
int nombre, limite;
printf("Limite : "); scanf("%d", &limite);
for (nombre=1; nombre<=limite; nombre++)
{
if (parfait(nombre))
{
printf("%d est parfait\n", nombre);
}
}
return 0;
}
int parfait ( int nombre )
{
return (somme_div(nombre) == nombre);
}
int somme_div ( int nombre )
{
int i, somme = 0;
for (i=1; i<=nombre/2; i++)
{
if (nombre % i == 0)
{
somme = somme + i;
}
}
return somme;
}Pages: 1 2