Определить количество слагаемых, необходимых для достижения заданной точности ε при исчислении числа π по следующему разложением в ряд - C (СИ)
Формулировка задачи:
Определить количество слагаемых, необходимых для достижения заданной точности ε при исчислении числа π по следующему разложением в ряд (уравнение в вложении)
Нужен код в С (именно С, а не в С++)
Решение задачи: «Определить количество слагаемых, необходимых для достижения заданной точности ε при исчислении числа π по следующему разложением в ряд»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main () {
double e,pi=0;
int n=1;
printf ("\nВведите точность "); scanf ("%lf",&e);
do {
pi+=1/pow(n,2);
n++;
} while (fabs(sqrt(6*pi)-M_PI)>e);
printf ("\nПи=%18.15lf",sqrt(6*pi));
printf ("\nn=%d",n-1);
printf ("\nЖмиЭнтыр");
getchar(); getchar();
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с числами с плавающей точкой и для работы с константами математических функций.
- Объявление переменных:
- e - точность,
- pi - число π,
- n - количество итераций.
- Вывод сообщения с просьбой ввести точность.
- Ввод точности с помощью функции scanf.
- Начальный цикл do-while для вычисления числа π с заданной точностью.
- Внутри цикла прибавляем к числу π значение 1/pow(n,2).
- Увеличиваем значение переменной n на 1.
- Проверка условия цикла с помощью функции fabs и функции sqrt.
- Если значение разности корня из 6*π и числа π больше заданной точности, то цикл продолжается.
- После выхода из цикла do-while выводим число π с помощью функции printf.
- Выводим количество итераций цикла с помощью функции printf.
- Вывод сообщения
ЖмиЭнтыр. - Ждем нажатия клавиши с помощью функции getchar.
- Возвращаем 0, чтобы указать, что программа успешно завершилась.