Найти первый из номеров последовательности, для которых выполняется условие - 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