Найти значение числа с заданной точностью - C (СИ)

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

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

Найти приблизительное значение числа , с заданной точностью.

Решение задачи: «Найти значение числа с заданной точностью»

textual
Листинг программы
#include <stdio.h>
#include <stdbool.h>
 
/* Здесь точность — кол-во слагаемых. */
#define ACCURACY 500000000
 
int main() {
    long double n = 0.0f;
    bool negative = false;
 
    for (size_t i = 0; i < ACCURACY; i++) {
        /* Вычисляем абсолютное значение текущего слагаемого. */
        const long double summand = 1.0f / (1 + 2*i);
        /* Прибавляем это значение к сумме (с учетом знака). */
        n += negative ? -summand : summand;
        /* Чередуем знаки. */
        negative = !negative;
    }
 
    printf("Pi/4   = 0.78539816339...\n");
    printf("Answer = %.11Lf...\n", n);
}

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

  1. Включаем необходимые заголовочные файлы для работы сprintf, типами данных и булевыми значениями.
  2. Определяем точность вычисления числа, в данном случае это 500000000 слагаемых.
  3. Создаем переменную типа long double с начальным значением 0.0f.
  4. Создаем булево значение negative равное false, оно будет использоваться для чередования знаков слагаемых.
  5. Запускаем цикл от 0 до ACCURACY-1, где ACCURACY определяется в начале программы.
  6. Внутри цикла вычисляем абсолютное значение текущего слагаемого и сохраняем его в переменной summand.
  7. Прибавляем значение summand к переменной n, учитывая знак (negative).
  8. Меняем значение negative на противоположное.
  9. После выполнения цикла выводим на экран значение Pi/4 и значение переменной n.

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

9   голосов , оценка 4.111 из 5
Похожие ответы