Enuntul : Pentru un numar n sa se afiseze ultimii p divizori proprii ai lui ( diferiti de 1 si de el insusi ). Daca numarul n are mai putin de p divizori se vor afisa toti. Exemplu : Pentru n=24 si p=2 se va afisa 8 12.
#include <iostream>
using namespace std;
int main()
{
int n,p,i,x,u,q,d;
cout<<"n=";
cin>>n;
cout<<"p=";
cin>>p;
i=2;
x=0;
u=n/2;
q=0;
d=2;
while(i<=n/2)
{
if(n%i==0)
{
x++;
}
i++;
}
if(p<=x)
{
while(q<=p)
{
if(n%u==0)
{
cout<<u<<" ";
}
q=q+1;
u=u-1;
}
}
if(p>x)
{
while(d<=n/2)
{
if(n%d==0)
{
cout<<" "<<d;
}
d++;
}
}
}
Daca introduc un numar care are mai putin de p divizori , afiseaza toti divizorii , insa nu imi arata ultimii divizori P , ci doar ultimul divizor .