Răspuns:
#include<iostream>
using namespace std;
int main(){
long long numar,p=1,suma=0;
cin>>numar;
int aux = numar;
int nrCifre = 0;
numar = 0;
while(aux){
nrCifre++;
numar+=aux%10;
aux/=10;
}
for(int i = 1 ; i<=nrCifre;i++){
suma+=numar*p;
p*=10;
}
cout<<suma;
return 0;
}
Explicație:
Daca esti atent si observi, nu trebuie sa faci permutarea numarului, suma cifrelor lui inmultita progresiv cu 1,10,100,..pana la ordinul numarului, va da mereu suma permutarilor lui.