ho visto l'algoritmo e c'è un problema quando inizializzi f. Lo fai prima che dai in input a, e il valore è indefinito dunque.
Inoltre
non mi torna. Dovrebbe esserecodice:if (r==0) printf("%d\n", d);
se vuoi stampare i divisori. Tu invece stampi il valore della divisione (d).codice:if (r==0) printf("%d\n", c);
![]()