Ребят, спасайте, надо задачку решить на C#.

Дано число D (> 0). Последовательность чисел AN определяется следующим образом:

A1 = 1, A2 = 2, AN = (AN–2+ AN–1)/2, N = 3, 4, ... Найти первый из номеров K, для которых выполняется условие |AK AK–1| < D, и вывести этот номер, а также числа AK–1 и AK.

Если не трудно, то пожалуйста с комментариями/обьяснениями!

1

Ответы и объяснения

Лучший Ответ!
  • Tlalok
  • почетный грамотей
2013-05-25T18:04:16+00:00

// не совсем понял условие по которому оперделяется нужный индекс

// мне показалось, что это умножение, если не так, то сам исправишь условие

// выхода из цикла

 

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();
        }
    }
}