@doroshko

Почему не вычисляет сложную конструкцию k / (i*(i + 1)*(i + 2));?

Подскажите почему не хочет вычислять всю конструкцию целиком?
Приходится знаменатель записывать в отдельную переменную.
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
	double step, result;
	double znam;
	int i, k;

	result = 0;
	i = 1;
	k = 1;
	do
	{
		//не вычисляет! step = 0, хотя должен 0,166667
		step = k / (i*(i + 1)*(i + 2));
		/*
		будет работать только так
		znam = i*(i + 1)*(i + 2);
		step = k / znam;
		*/
		result += step;

		cout << i << " " << step << "\n";
		_getch();

		k = -k;
		i++;
	} while (i <= 5);

	cout << "Result: " << result;
	_getch();

	return 0;

}
  • Вопрос задан
  • 2183 просмотра
Пригласить эксперта
Ответы на вопрос 1
@neolink
попробуйте
step = k / (double) (i*(i + 1)*(i + 2));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы