計算1!+2!+3!+…+10!


再帰的でない方法:
#include
int factorial(int n)
{
        int i;
        int count = 1;
        for(i = 1; i <= n; i++)
        {
                count = count * i;
        }
        return count;
}
int sum(int n)
{
        int m = 0;
        int i;
        for(i = 1; i <= n; i++)
        {
                m = m + factorial(i);
        }
        return m;
}
int main()
{
        int n = 10;
        printf("%d 
", sum(n)); return 0; } // :4037913

再帰方式:
#include
int factorial(int n)
{
        int i;
        int count = 1;
        for(i = 1; i <= n; i++)
        {
                count = count * i;
        }
        return count;
}
int sum(int n)
{
        if(n == 1)
                return 1;
        else
                return factorial(n) + sum(n - 1);
}
int main()
{
        int n = 10;
        printf("%d 
", sum(n)); return 0; } // :4037913