in codul de mai jos divizorii nu sunt afisati si gasiti in ordine crescatoare dar folosita metoda f. efectiva ....
#include <iostream>
using namespace std;
int d[1000];
int main()
{
int n, i, k=0;
cin >> n;
for (i=1; i*i<n; ++i)
if (n%i==0)
{
++k; d[k]=i;
++k; d[k]=n/i;
}
if (i*i==n) { ++k; d[k]=i; }
cout << " Divizorii lui " << n << " sunt: ";
for (i=1; i<=k; ++i)
cout << d[i] << " ";
return 0;
}