Арифметическая прогрессия

Тема в разделе "C/C++/C#", создана пользователем Alovar, 27 дек 2010.

  1. Alovar

    Alovar Гость

    Привет всем. Вот уже уелый день вожусь с задачкой про арифметическую прогрессию. Уж что я тока не пробовал, так и не смог написать ничего толкового. Под конец уже попер бред где я проверял кратность всех эллементов и пытался на основе этого расчитать d, но не вышло)

    Вот задачка:

    Добавить к некоторой последовательности A=(ai), i=1..n, n<=100, наименьшее число элементов, чтобы получить арифметическую прогрессию ( напр вводим 22 1 36 -> получаем 1 8 15 22 29 36)
     
  2. vital

    vital Больной Компом Детектед

    Регистрация:
    29 янв 2006
    Сообщения:
    2.468
    Симпатии:
    27
    мм.. Все введенные числа собираешь в массив. его сортируешь по возрастанию. Считаешь н=последний элемент-предпоследний. Далее, если разница между каждыми 2мя соседними элементами, равна н, или кратна(делится без остатка) значит это твое д. Если нет, берешь н=предпоследний-предпредпоследний и см.выше. Когда нашел д - то от первого элемента массива, до последнего прибавляя д..
    ========================
    UPDATE
    ========================
    хм, нет, не так.
    Вспоинаем школу, и вот такую формулу
    [​IMG]
    Дальше понятно?
     
  3. Alovar

    Alovar Гость

    допустим я ввел 1, 22, 36, но я не совсем догоняю как использовать их в этой формуле, если я не знаю какие они по счету пока не составлю прогрессию, т.е. 22 - это "a" n-ное, 36 это "a" m-ное, но ведь ни n ним m я не знаю.
     
Загрузка...
Похожие Темы - Арифметическая прогрессия
  1. recored
    Ответов:
    0
    Просмотров:
    1.132

Поделиться этой страницей