#include <iostream>
#include <iomanip>

using namespace std;

const int N = 5;

double A[N] = { 1, 2, 3, 4, 5 };

double calc(double x, double* a, int n = 0)
{
    if (n == N-1) return a[n];
    return calc(x,a,n+1)*x+a[n];
}

double series(double x, double* a)
{
    double sum = 0.0;
    for(int i = N-1; i >= 0; --i)
        sum = sum*x + a[i];
    return sum;
}

int main(int argc, const char * argv[])
{
    for(double x = 0.0; x < 5.0; x += 0.5)
    {
        cout << setw(8) << calc(x,A) << "   " << setw(8) << series(x,A) << endl;
    }
}