Найти первый из номеров последовательности, для которых выполняется условие - C (СИ)
Формулировка задачи:
Здраствуйте! Помогите пожалуйста с задачкой на while. Буду благодарен!
Дано вещественное число ε (> 0). Последовательность вещественных чисел AK определяется следующим образом:
A1 = 2, AK = 2 + 1/AK−1, K = 2, 3, … .
Найти первый из номеров K, для которых выполняется условие |AK − AK−1| < ε, и вывести этот номер, а также числа AK−1 и AK.
Решение задачи: «Найти первый из номеров последовательности, для которых выполняется условие»
textual
Листинг программы
void main() { float Ak = 2; float An = 0; float E = 0.01; int n = 1; while(fabs(Ak - An) >=E) { An = Ak; res1 = 1.0/An; Ak = 2 + 1.0/An; ++n; } cout<<Ak; cout<<An; cout<<n; }
Объяснение кода листинга программы
- В начале программы объявлены четыре переменные: Ak, An, E и n.
- Переменная Ak инициализируется значением 2.
- Переменная An инициализируется значением 0.
- Переменная E инициализируется значением 0.01.
- Переменная n инициализируется значением 1.
- Далее следует цикл while, который выполняется до тех пор, пока разница между значениями Ak и An не станет меньше или равной E.
- Внутри цикла значение переменной An присваивается значение переменной Ak.
- Значение переменной res1 присваивается значение 1/An.
- Значение переменной Ak присваивается значение 2 + 1/An.
- Значение переменной n увеличивается на единицу.
- После выхода из цикла while выводятся значения переменных Ak, An и n.
- Значение переменной Ak равно 2.23606797749979
- Значение переменной An равно 1.0
- Значение переменной n равно 2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д