Вычислить значение выражения - C (СИ) (70561)

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

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

Всем привет! Нужна ваша помощь с заданием: Вычислить S=(1 + 1/3)*(1/5+ 1/7)*( 1/9+ 1/11 + 1/13)*...*( 1/33+1/35+1/37+1/39+ 1/41+1/43) Буду очень благодарен за помощь.

Решение задачи: «Вычислить значение выражения»

textual
Листинг программы
#include <stdio.h>
 
int main() {
    int i = 1, k;
    int j, prev = 3;
    double res = 1;
    double sum = 1;
    for(i = 1; i<=6; i++){
        for (j = prev, k = i; j <= 43; j+=2) {
            res += 1.0 / j;
            prev = j + 2;
            k--;
            if (k == 0) break;
        }
        sum *= res;
        res = 0;
    }
    printf("%f\n", sum);
    return 0;
}

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

В этом коде выполняются два вложенных цикла. Первый цикл идет от 1 до 6, а второй - от 3 до 43 с шагом 2. В каждой итерации внутреннего цикла переменная res увеличивается на 1/j, где j - это значение из диапазона от 3 до 43 с шагом 2. Затем переменная prev увеличивается на 2, а переменная k уменьшается на 1. Если k становится равным 0, то цикл прерывается. Переменная sum перемножается на значение res после каждой итерации внешнего цикла. Значение res затем обнуляется. В конце программы выводится значение sum.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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