Загрузка данных


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>   // Подключение функций ввода-вывода (printf, scanf)
#include <stdlib.h>  // Подключение системных команд (system)
#include <locale.h>  // Подключение локализации русского языка

int main()
{
    // Предусловие: ввод целого k >= 1 (ОДЗ: m != 4)
    // Постусловие: вычисление и вывод произведения P

    setlocale(LC_ALL, "Russian"); // Включение русского языка в консоли

    int k;          // Параметр k, определяющий верхний предел произведения
    double P = 1.0; // Накопитель произведения

    printf("Введите значение k: "); // Приглашение ко вводу k
    scanf("%d", &k);                // Считывание числа k

    // Цикл произведения по переменной m от 1 до k + 2
    for (int m = 1; m <= k + 2; m++)
    {
        if (m == 4) // Проверка деления на ноль при m = 4
        {
            printf("Ошибка: деление на ноль при m = 4!\n"); // Сообщение об ошибке
            break;                                         // Прерывание цикла
        }

        double term = (double)(m * m * m - 8) / (double)(m - 4); // Вычисление сомножителя
        P *= term;                                              // Умножение на накопитель
    }

    printf("Итоговое значение произведения P = %.4lf\n", P); // Вывод результата

    system("pause"); // Задержка экрана консоли
    return 0;        // Успешный код завершения программы
}