Решите задачу на языке С++ Дано число D ( больше 0). Последовательность чисел AN определяется следующим образом: A1 = 1, A2 = 2, AN = (AN–2+ AN–1)/2, N = 3, 4, ... Найти первый из номеров K, для которых выполняется усло...
Решите задачу на языке С++
Дано число D (> 0). Последовательность чисел AN определяется следующим образом:
A1 = 1, A2 = 2, AN = (AN–2+ AN–1)/2, N = 3, 4, ... Найти первый из номеров K, для которых выполняется условие |AK-AK–1| < D, и вывести этот номер, а также числа AK–1 и AK.
желательно блок схема и объяснения
Ответ(ы) на вопрос:
Гость
// не совсем понял условие по которому оперделяется нужный индекс// мне показалось, что это умножение, если не так, то сам исправишь условие// выхода из цикла using System;
namespace ConsoleApplicationTest
{
class Program
{
static void Main(string[] args)
{
double A_1 = 1;
double A_2 = 2;
double A_3 = (A_1 + A_2) / 2;
Console.Write("D = ");
double D = double.Parse(Console.ReadLine());
int k = 3;
while (Math.Abs(A_3 * A_2) >= D)
{
A_1 = A_2;
A_2 = A_3;
A_3 = (A_1 + A_2) / 2;
k++;
}
Console.WriteLine("k = {0}; Ak-1 = {1}; Ak = {2}", k, A_2, A_3);
Console.ReadLine();
}
}
}
Не нашли ответ?
Похожие вопросы