Ad esempio, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800
e la somma delle cifre nel numero 10! è 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.
Trova la somma delle cifre nel numero 100!
La logica del programma è corretta, ma il risultato è sbagliato, mi risulta 683 anziché di 648codice:#include <iostream> #include <string> using namespace std; int main() { double risultato=1; int array[1000]; unsigned long long somma = 0; cout << "Wait! " << endl; for (int i = 1; i <= 100; ++i) { risultato = risultato * i; } string risultato1 = to_string((double)risultato); string carattere; int lunghezza = risultato1.size(); int lunghezza1 = risultato1.size(); string part = risultato1.substr(0, lunghezza - 7); int lunghezza2 = part.size(); cout << "Il risultato e': " << risultato << endl; cout << "Il risultato e': " << part << endl; cout << "La lunghezza della stringa e' :" << lunghezza2 << endl; for (int y = 0; y <= lunghezza2-1; y++) { carattere = part.at(y); array[y] = stoi(carattere); somma = somma + array[y]; } cout << "La somma fattoriale e': " << somma << endl; system("pause"); }
Non capisco l'errore![]()