Детерминированные циклы. Вычислить значение выражения - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите выполнить задание по теме детерминированные циклы. Заранее спасибо. Вот само задание: Дано натуральное число N. Вычислить

Решение задачи: «Детерминированные циклы. Вычислить значение выражения»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
int main()
{   int n, i;
    double product = 1, sum = 0, factorial = 1;
    
    printf ("Enter N (1 <= N <= 12)\n");
    while (printf("\tN = ") && !(scanf("%d", &n) == 1 && n >= 1 && n <= 12))
        fflush(stdin);
    fflush(stdin);
 
    for ( i = 1; i<n; i++)
    {   factorial *= i;
        product *= (1 + 1/sqrt(1.*i));
        sum += (1 + 1/factorial);
    }
    
    printf ("\n\nResult:\t%.4lf", product * sum);
 
    getchar();
    return 0;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с вводом/выводом и математическими функциями.
  2. Определяем функцию main(), которая является точкой входа в программу.
  3. Объявляем переменные n, i, product, sum, factorial типа int и double соответственно. Значение переменных product, sum и factorial инициализируется единицей, а переменная n не инициализируется.
  4. Выводим приглашение для ввода значения переменной n с ограничениями на его значение.
  5. Используем цикл while для получения корректного значения переменной n. Внутри цикла выводим приглашение для ввода значения n и считываем его с помощью функции scanf(). Если введенное значение не удовлетворяет условиям (больше или равно 1 и меньше или равно 12), то с помощью функции fflush() очищаем буфер ввода, чтобы избежать ошибок при последующем использовании функции scanf().
  6. Используем цикл for для вычисления значения выражения. На каждой итерации цикла переменная i принимает значения от 1 до n-1.
  7. Внутри цикла перемножаем значения переменных factorial и product, используя оператор умножения (*=). Также на каждой итерации цикла прибавляем к переменной sum значение (1 + 1/factorial).
  8. По завершении цикла выводим результат вычислений на экран.
  9. Используем функцию getchar() для получения символа новой строки из стандартного ввода, чтобы программа не закрылась сразу после вывода результата.
  10. Возвращаем 0, чтобы указать, что программа успешно завершилась.

Оцени полезность:

5   голосов , оценка 3.2 из 5