Suma de factoriales

#include <iostream> #include <stdlib.h> using namespace std; int Factorial(int nf); int SumaFactorial(); char n[20]; int main() { char bckup[20]; int Suma; cout << "Introduzca el numero: "; cin >> n; strcpy(bckup, n); Suma = SumaFactorial(); if (Suma) { cout << "La suma de los factoriales de los digitos de " << bckup << " es " << Suma << "." << endl << endl; } system("pause"); return 0; } int Factorial(int nf) { if(nf < 0) return 0; if(nf > 1) return nf * Factorial(nf-1); return 1; } int SumaFactorial() { int nActual, FactActual, i; nActual = FactActual = i = 0; while (n[i] != '\0') { nActual = n[i] - 0x30; if ( (nActual >= 0) && (nActual <= 9) ){ n[i] = 254; FactActual += Factorial(nActual); } else if (nActual == 254){ continue; } else if ( (n[i] != '\0')) { return 0; } i++; } return FactActual; }
Obtener la suma de los factoriales de todos los dígitos de un número

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.