Курилка Задачка. Десятый класс

Тема в разделе "Курилка", создана пользователем Бухгалтерский угодник, 14 ноя 2013.

  1. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Задали сыну задачку по программированию в школе.. Легкий шок.

    Имеем дикого кенгуру. Он может прыгать как вперед, так и назад. Каждый последующий прыжок в 2 раза длиннее предыдущего.
    Задача вычислить попадет ли кенгуру в заданную точку (задается вручную) или нет и за какое количество прыжков.

    Пример: 16 не попадет
    17 попадет -1-2-4+8+16 за 5 прыжков.

    У кого есть варианты? Кроме как строить матрицу - не вижу решения. Но матрицы они не проходят! Даже не знаю - входит ли линейная алгебра в современный курс обучения. В наше время не входила. Сразу поймут преподы что не он делал.
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    если просто циклом с анализом результата, кучу условий только придется делать
  3. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    папаня у меня информатику преподает :)

    не нужны там никакие матрицы, циклы они изучают значит.

    вложенные
  4. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    цикл... Так ведь неизвестно с каким знаком прыжок! Если только прямо - пишется за 2 минуты! В том то вся и "соль" что м.б.
    -1+2+4=5
    1-2+4=3
    1+2+4-8+16=15 и т.д.
    точка м.б. как отрицательной, так и положительной. Разрядность 10 знаков
  5. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    ну так и перебрать все варианты.. сначала построить массив 1 2 4 8 16 32 64... а затем перебрать все возможные значения плюсов и минусов в этом массиве.

    с суммированием итогового значения в массиве..

    блин, а не говорится про ограничения количества шагов? он же так и мильон напрыгать может..
  6. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    во-во... Разрядность точки 10 знаков. Сам в шоке. Через матрицу решить не проблема, но нельзя
  7. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Олег, у тебя сын в какой школе учится? :))
  8. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    Из точки -4 он то может прыгнуть только или в +4 или в -8. как он у вас в примере из -4 сразу сиганул в +8???
  9. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    В специализированной, но не для вундеркиндов.

    знак значения не имеет. В том то и прикол!
  10. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    мне кажется тут с модулем что-то..
  11. st88
    Offline

    st88 Профессионал в 1С Команда форума

    Регистрация:
    18 окт 2012
    Сообщения:
    1.725
    Симпатии:
    28
    Баллы:
    54
    решение:
    Примеры:
    Расстояние 16 - Невозможно
    Расстояние 17 - Минимальное число шагов 5
    Примечание. Имеется в виду последовательность прыжков –1–2–4+8+16, дающая расстояние 17.

    {@author BDA}
    uses Math;
    var
    d: longint;
    BEGIN
    readln(d);
    if d mod 2 = 0 then
    writeln('No')
    else
    writeln(' Count: ', ceil(ln(d + 1) / ln(2)));
    readln;
    END.

    Вывод формулы
    Получение формулы:
    Прыжок (количество) - Варианты расстояний
    1) 1
    2) 1, 3
    3) 1, 3, 5, 7
    4) 1, 3, 5, 7, 9, 11, 13, 15
    и т.д.
    k-ый прыжок - максимальное расстояние 2^k - 1
    Вводимое расстояние не может быть четным и должно быть меньше или равно 2^k - 1.
    Осталось выразить k.
  12. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    поподробнее если можно.
  13. vartanet
    Offline

    vartanet Опытный в 1С Команда форума

    Регистрация:
    16 ноя 2010
    Сообщения:
    2.698
    Симпатии:
    15
    Баллы:
    29
    пока гадаю ;)
  14. yzek
    Offline

    yzek Опытный в 1С

    Регистрация:
    13 окт 2010
    Сообщения:
    713
    Симпатии:
    0
    Баллы:
    26
    Похоже любое нечетное число подходит:
    1 = 1
    1+2 = 3
    -1+2+4 = 5
    1+2+4 = 7
    -1-2+4+8 = 9
    1-2+4+8 = 11
    -1+2+4+8 = 13
    1+2+4+8 = 15
  15. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    St88, спасибо. Тут все-таки не цикл... Какой идиот им дал такую задачку....

    Всем спасибо. На собрании подниму вопрос о целесообразности подобных задач по программированию
  16. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    дитенка к задачам блока С ЕГЭ готовят )
  17. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Возможно. Но уверяет что обычная задачка на дом.
    Убил бы за современную методику обучения. СССР РУЛИТ.
  18. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    поддержу
  19. XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    а мен почему-то кажется, что завязано на арифметической прогресии, только вот как???
  20. TopicStarter Overlay
    Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    прогрессия была бы если скачки были в дну сторону! Меня как раз знак и смутил. В одну сторону - все просто и тривиально. Вот тут бы я поверил что обычная задачка.

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