Răspuns:
int pDoi(int n)
{
int i=2,k=1;
while(pow(i,k)<=n) //cat timp puterea e mai mica decat n
k++; //crestem exponentul
if(pow(i,k)>n) //daca puterea depaseste numarul n
return pow(i,k-1); // returnam puterea anterioara ,fiind cea mai mare putere ce nu il depaseste pe n
}
Explicație: