Răspuns :
#include<iostream>
using namespace std;
int n, maxx;
bool is_prime(int q){
if(q==0 || q==1) return 0;
if(q==2) return 1;
for(int i=2;i*i<=q;i++){
if(q%i==0) return 0;
}
return 1;
}
int main(){
cin>>n;
maxx=1;
for(int i=2;i<n;i++){
if(n%i==0 && is_prime(i) && i>maxx) maxx=i;
}
cout<<maxx;
return 0;
}
#include<iostream>
using namespace std;
int n, maxx;
bool is_prime(int q){
if(q==0 || q==1) return 0;
if(q==2) return 1;
for(int i=2;i*i<=q;i++){
if(q%i==0) return 0;
}
return 1;
}
int main(){
cin>>n;
maxx=1;
for(int i=2;i<n;i++){
if(n%i==0 && is_prime(i) && i>maxx) maxx=i;
}
cout<<maxx;
return 0;
}//daca nu intelegi ceva sami spui te rog