Răspuns :
#include <iostream>
#include <algorithm>
using namespace std;
int invers(int n){
int nr=0;
while(n){
nr=nr*10+n%10;
n/=10;
}
return nr;
}
int val(int x[], int n){
int i,nr=0;
for(i=0;i<n;i++){
nr=nr*10+x[i];
}
return nr;
}
int verif(int x[], int n){
int i;
if(x[0]==0)return 0;
for(i=0;i<n/2;i++)
if(x[i]!=x[n-i-1])return 0;
return 1;
}
int main(){
int n,i,pmax=-1,pmin=2000000001,v[10],k=0,vl;
cin>>n;
while(n){
v[k]=n%10;
k++;
n/=10;
}
sort(v,v+k);
do{
if(verif(v,k)){
vl=val(v,k);
if(vl>pmax)pmax=vl;
if(vl<pmin)pmin=vl;
}
}while(next_permutation(v,v+k));
if(pmax==-1)cout<<"Nu exista";
else cout<<pmax<<" "<<pmin;
}
#include <algorithm>
using namespace std;
int invers(int n){
int nr=0;
while(n){
nr=nr*10+n%10;
n/=10;
}
return nr;
}
int val(int x[], int n){
int i,nr=0;
for(i=0;i<n;i++){
nr=nr*10+x[i];
}
return nr;
}
int verif(int x[], int n){
int i;
if(x[0]==0)return 0;
for(i=0;i<n/2;i++)
if(x[i]!=x[n-i-1])return 0;
return 1;
}
int main(){
int n,i,pmax=-1,pmin=2000000001,v[10],k=0,vl;
cin>>n;
while(n){
v[k]=n%10;
k++;
n/=10;
}
sort(v,v+k);
do{
if(verif(v,k)){
vl=val(v,k);
if(vl>pmax)pmax=vl;
if(vl<pmin)pmin=vl;
}
}while(next_permutation(v,v+k));
if(pmax==-1)cout<<"Nu exista";
else cout<<pmax<<" "<<pmin;
}