Să se scrie o funcție C++ care să returneze suma factorialelor cifrelor unui număr natural transmis ca parametru.
numele funcției va fi sumfactcif
funcția va avea un parametru reprezentând numărul dat, care va fi mai mic decât 2.000.000.000
prin definiție, 0! = 1Exemplu
sumfactcif(241) = 27, adică 2!+4!+1! = 1*2+1*2*3*4+1 = 2+24+1 = 27
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
Răspunsuri la întrebare
Răspuns de
2
int sumfactcif(int n){
int c[10],k=0,i,j;
long long unsigned int s=0, st;
while(n){
c[k]=n%10;
k++;
n=n/10;
}
for(i=0;i<k;i++){
st = 1;
for(j=1;j<=c[i];j++) st = st*j;
s = s+st;
}
return s;
}
int c[10],k=0,i,j;
long long unsigned int s=0, st;
while(n){
c[k]=n%10;
k++;
n=n/10;
}
for(i=0;i<k;i++){
st = 1;
for(j=1;j<=c[i];j++) st = st*j;
s = s+st;
}
return s;
}
Alte întrebări interesante
Biologie,
9 ani în urmă
Biologie,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
10 ani în urmă