Trouver tous les diviseurs d'un nombre entier en C

Le diviseur d'un nombre entier est égale ou inférieur à ce nombre. Par définition, un diviseur d d'un entier n si et seulement s'il existe un nombre k tels que : dk = n. Par exemple, 5 est le diviseur de 20 car 5 x 4 = 20.

Dans notre cas, on doit trouver tous les diviseurs. La solution est de parcourir tous les nombres qui sont inférieurs à n-1 et on décrémente jusqu'à 1. Si le reste de la division de n sur n-i vaut 0 alors on affiche ce nombre. Par défaut, tout nombre entier n a au moins deux diviseurs:
  • Le nombre lui même.
  • Le 1.
#include<stdio.h>
#include<stdlib.h>

int main()
{
int nombre;
scanf("%d",&nombre);
int i;
for (i=1 ; i<=nombre ; i++)
{
if ((nombre%i)==0)
printf("%d\n",i);
}
return 0;
}
Références:
Définition de diviseur: wikipédia