// 014, 015, 016, 017
#include <iostream>
#include <math.h>

double my_014(double arg, int num);
double my_015(double arg, int num);
double my_016(double arg, int num);
double my_017(int num);

int main()
{
    double arg;
    int num;
    std::cout << "Enter x" << std::endl;
    std::cin >> arg;
    std::cout << "Enter num" << std::endl;
    std::cin >> num;
    
    std::cout << "x = " << arg << "; n = " << num << std::endl;
    //std::cout << "mega_cos_014 = " << my_014(arg, num) << std::endl;
    //std::cout << "sum_015 = " << my_015(arg, num) << std::endl;
    //std::cout << "sum_016 = " << my_016(arg, num) << std::endl;
    std::cout << "sum_017 = " << my_017(num) << std::endl;
    
    return 0; 
}

double my_014(double arg, int num)
{
    double answer = arg;
    for (int idx = 1; idx <= num; idx++)
    {
        answer = arg + cos (answer);
    }
    return answer;
}

double my_015(double arg, int num)
{
    double answer = num + arg / (num + arg);
    for (int idx = num - 1; idx >= 1; idx--)
    {
        answer = idx + arg / answer;
    }
    return answer;
}

double my_016(double arg, int num)
{
    double sum = 0.0;
    double seq_member = 1.0;
    for (int idx = 1; idx <= num; idx++)
    {
        seq_member *= arg + idx;
        sum += seq_member;
    }
    return sum;   
}

double my_017(int num)
{
    double sum = 0.5;
    double seq_member = 1.0;
    for (int idx = 2; idx <= num; idx++)
    {
        seq_member *= (idx - 1) * (idx - 1) / double (2 * idx);
        sum += seq_member;
    }
    return sum; 
}