#include <iostream> // потоковый ввод и вывод
#include <cmath> // математические функции
#include <clocale> // поддержка русского языка
using namespace std; // стандартное пространство имен
int main()
{
// Предусловие: ввод с клавиатуры целого положительного числа k
// Постусловие: вычисление произведения P с пропуском сомножителя при m = 4 из-за деления на ноль
setlocale(LC_ALL, "Russian"); // включаем русский язык в консоли
int k; // граница для цикла
cout << "Введите значение k (целое число от 1): "; // приглашение к вводу
cin >> k; // считываем k
if (k < 1) // проверка корректности данных
{
cout << "Ошибка: k должно быть >= 1!" << endl; // сообщение об ошибке
system("pause"); // пауза экрана
return 0; // выход из программы
}
double P = 1.0; // начальное значение накопителя произведения
for (int m = 1; m <= k + 2; m++) // цикл по m от 1 до k + 2
{
if (m == 4) // деление на ноль (знаменатель m - 4 равен 0)
{
cout << "Сомножитель при m = 4 пропущен (деление на ноль)" << endl; // предупреждение
continue; // переходим к следующему шагу без деления
}
double factor = (pow(m, 3) - 8.0) / (m - 4.0); // вычисление сомножителя
P *= factor; // домножение в накопитель
}
cout << "\nИтоговое значение произведения P = " << P << endl; // вывод ответа
system("pause"); // задержка окна
return 0; // завершение программы
}