Scrie o sa se scrie o functie c++ care sa returneze cel mai mic numar care se poate scrie cu cifrele unui numar natural transmis ca parametru
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
int cmmnr (int m)
{
if (m<10) return m;
else {
int v[11],i,n,t;
for (i=0;i<=10;++i) v[i]=0;
int nc=0;
while (m) {
++nc; v[nc]=m%10; m/=10;
}
for (i=1;i<nc;++i)
for (int j=i+1;j<=nc;++j) {
if (v[j]<v[i]){
t=v[i]; v[i]=v[j]; v[j]=t;
}
}
if (v[1]==0) {
i=1;
while (v[i]==0) ++i;
t=v[1]; v[1]=v[i]; v[i]=t;
}
n=0;
for (i=1; i<=nc; ++i) n=n*10+v[i];
return n;
}
}
Explicație:
se poate si cu vectorul de frecventa a cifrelor.... cred e nai rational....
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
9 ani în urmă
Istorie,
9 ani în urmă