Помогите решить задание пожалуйста. На С++.
Составить программу вычисления суммы S=1!+2!+3!+....n!
! - факториал.

2

Ответы и объяснения

Лучший Ответ!
2013-11-21T01:03:01+04:00
#include <iostream>

int main()
{
    int n, s, m, mas[32000];
    
    freopen ("input.txt", "r", stdin);
    freopen ("output.txt", "w", stdout);
    
    scanf ("%d", &n);
    mas[0] = m = 1;
    
    for (int i = n; i > 1; i--)
    {
        s = 0;
        for (int j = 0; j < m; j++)
        {
            s = s + mas[j]*i;
            mas[j] = s%10;
            s = s/10;
        }

        while (s > 0)
            {
                mas[m] = s%10;
                s = s/10;
                m++;
            }
        int j = 0;
        while (mas[j] == 9)
        {
            mas[j] = 0;
            j++;
        }
        mas[j] = mas[j]+1;
        if (j > m) m = j;
    } 
    for (int i = m-1; i >= 0; i--) printf ("%d", mas[i]);
return 0;
}
Он работает с файлом.
можешь убрать, давно писал...
2013-11-21T01:22:39+04:00
#include <iostream>
#include <stdlib.h>

unsigned long fact(int number) {
    unsigned long i = 1;
    for (;number > 1; number--)
        i *= number;
    return i;
}

int main(int argc, char** argv) {
    if (argc != 2)
        return 1;
    unsigned long s = 0;
    for (int i = 1; i <= atoi(argv[1]); i++)
        s += fact(i);
    std::cout << s << std::endl;
    return 0;
}