Сколько сомножителей нужно взять в произведении, чтобы равенство выполнялось с точностью эпсилон? - C (СИ)
Формулировка задачи:
Здравствуйте!
Никак не могу написать код к этой задаче : Известно равенство, определить сколько сомножителей нужно взять в произведении , что бы равенство выполнялось с точностью эпсилон.
Заранее спасибо.
Решение задачи: «Сколько сомножителей нужно взять в произведении, чтобы равенство выполнялось с точностью эпсилон?»
textual
Листинг программы
#include <math.h> #include <conio.h> #include <stdio.h> int main () { float e; printf ("Programa\n"); printf ("Vvedit e: "); scanf ("%f", &e); double x=1; int k, n; for(k = 2, n = 1;;k++, n++) { x*= 1.0 - (1.0 / pow(k, 2)); if (fabs(x - 0.5)<e){ printf("Kilkist spivmnojnikiv %i\n",(k - 1)); break; } } getch(); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с математикой, вводом и выводом данных.
- Определение переменной
e
, которая используется для задания точности вычислений. - Вывод на экран приглашения для ввода значения переменной
e
. - Считывание значения переменной
e
с помощью функции scanf. - Инициализация переменной
x
значением 1.0. - Объявление переменных
k
иn
, которые используются в цикле. - Запуск цикла, который выполняется до тех пор, пока значение переменной
x
не станет равным 0.5 с точностью доe
. - Внутри цикла перемножение переменной
x
на разность между 1.0 и обратным квадратом числаk
. - Сравнение абсолютного значения разности между переменной
x
и 0.5 с заданной точностьюe
. - Если условие выполняется, то выводится сообщение с количеством сомножителей и цикл прерывается.
- Завершение программы с помощью функции getch() и возврат значения 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д