👤

Cerinţa
Să se scrie o funcție C++ care să returneze suma factorialelor cifrelor unui număr natural transmis ca parametru.

Restricţii şi precizări
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! = 1



Exemplu
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 la erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.



Răspuns :

int sumfactcif(int x)
{
    int s=0,c;
    while (x>0)
    {
        c=x % 10;
        x/=10;
        if (c<2) s+=1;
        if (c==2) s+=2;
        if (c==3) s+=6;
        if (c==4) s+=24;
        if (c==5) s+=120;
        if (c==6) s+=720;
        if (c==7) s+=5040;
        if (c==8) s+=40320;
        if (c==9) s+=362880;
    }
    return s;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!


Ez Askings: Alte intrebari