C++. Вычислить сумму ряда с заданной точностью. Рекурсия.
Добавлено: 19 ноя 2017, 17:15
Посмотрите пожалуйста, в чем проблема?
Код: Выделить всё
/*Найти сумму ряда с точностью е , общий член которого равен
an=ln(n!)/n^2. Точность считается достигнутой, если
следующий член последовательности меньше заданного е.*/
#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <iomanip>
#include <cmath>
#include <math.h>
using namespace std;
long fact(int n);
double sum(int n, double eps, double an);
void main()
{
setlocale(LC_CTYPE, "rus");
setlocale(0, "rus");
double eps,n=1,i;
cout << "Zadaite e: "; cin >> eps;
cout << "Summa = " << sum(1, eps, 1) << "///////////" << fact(n) << endl;
system("pause");
}
long fact(int n)
{
long k = 1;
if (n > 1)
for (int i = 2; i <= n; ++i)
k *= i;
return k;
}
double sum(int n, double eps, double an)
{
an = (log(fact(n))) / pow(n, 2);
if (an < eps) return 0;
else return an + sum(n + 1, eps, an);
}