Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 24.03.2013
Сообщений: 59

Найти и вывести на экран минимальное количество прыжков кенгуру для попадания в точку

01.11.2013, 16:53. Показов 3273. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суперкенгуру может прыгать по прямой вправо и влево . Длина его первого прыжка составляет 1 м, второго — 2 м, третьего — 4 м и так далее (длина каждого прыжка всегда в два раза больше, чем предыдущего). Через какое минимальное количество прыжков суперкенгуру окажется на расстоянии d метров от исходной точки O?

Программа должна быть написана на паскале

Запросить расстояние d (натуральное число, 0 < d < 2147483647 ;

Найти и вывести на экран минимальное количество прыжков для попадания в точку на расстоянии d или сообщить, что это невозможно.


Помогите если кто сообразит,
я увы смог решить только при движении по прямой, не учитывая направленность движения =\
1
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.11.2013, 16:53
Ответы с готовыми решениями:

Найти и вывести на экран минимальное количество прыжков для попадания в точку на расстоянии
3) Кенгуру умеет прыгать по прямой вправо и влево. Длина его первого прыжка - 1 метр, второго - 2, третьего - 4 и т.д. (длина каждого...

Шахматы: найти количество путей для попадания в точку n
Напишите пожалуйста программу,а то сам С++ почти не знаю,а скоро сдавать. Шахматная фигура может двигаться на 1 шаг,на 2 или на 3. найти...

Программа которая возвращает минимальное количество прыжков
Круг разбитый на 160 сегментов Всего 16 секторов и 10 колец. В дальнейшем каждый сегмент задается номером кольца (от 1 до 10 считая от...

6
Эксперт 1С
 Аватар для Joker_vad
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,922
01.11.2013, 17:02
квадрат гипотенузы = сумме квадратов катетов
1
2 / 2 / 0
Регистрация: 24.03.2013
Сообщений: 59
01.11.2013, 17:20  [ТС]
Цитата Сообщение от Joker_vad Посмотреть сообщение
квадрат гипотенузы = сумме квадратов катетов
если бы всё так было просто,мне нужно учитывать ещё то,что он может прыгать назад

например,При d=17 имеется в виду последовательность прыжков: –1–2–4+8+16
1
Эксперт 1С
 Аватар для Joker_vad
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,922
01.11.2013, 17:44
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
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.
Добавлено через 19 секунд
подсмотрел решение на вражеском форуме)
2
2 / 2 / 0
Регистрация: 24.03.2013
Сообщений: 59
01.11.2013, 17:57  [ТС]
как подключить и где взять uses math ?
гугл ничего вразумительного не выдал
0
Эксперт 1С
 Аватар для Joker_vad
476 / 413 / 93
Регистрация: 26.09.2012
Сообщений: 1,922
01.11.2013, 22:11
ну модуль math используется в turbo паскале, также как и этот код, работает только на нем. Аналога функции ceil в абс я не нашел. Можешь попробывать сам ее реализовать
0
0 / 0 / 0
Регистрация: 20.04.2016
Сообщений: 1
05.11.2013, 23:43
Сегодня предложили как раз эту задачу. Сначала хорошенько не проанализировал условие, сбивало то, что на каждом шагу может быть либо +, либо -. Но потом сел и спокойно разобрался. Достаточно построить дерево возможных "прыжков" по порядку (пошагово) для нескольких шагов и расстояния от полученных точек до 0 (на схеме, конечно, всё нагляднее):
1 шаг: -1, +1
2 шаг: -3, -1, +1, +3
3 шаг: -7, -5, -3, -1, 1, 3, 5, 7
4 шаг: -15, -13, -11, -9, -7, -5, -3, -1, 1, 3, 5, 7, 9, 11, 13, 15
Нетрудно убедиться, что на каждом следующем шаге "появляется" в 2 раза больше последующих нечётных чисел, причем отрицательные части можно убрать в силу симметричности (расстояние - это модуль). То, что если расстояние выражено чётным числом, недостижимо тоже понятно. Теперь нетрудно понять, что на k-м шаге максимальным нечётным числом будет https://www.cyberforum.ru/cgi-bin/latex.cgi?{2}^{k}-1. То есть, программа должна давать ответ "Невозможно", если d - нечётно, а если d -чётно, то найти шаг, на котором d попадает в интервал от https://www.cyberforum.ru/cgi-bin/latex.cgi?{2}^{k-1} по https://www.cyberforum.ru/cgi-bin/latex.cgi?{2}^{k}-1
Ну и вот, что получается:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Var
k: integer;
d: longint;
begin 
readln(d);
k:=0;
If d mod 2=0 then 
  writeln('невозможно')
  else 
    while d>0  do
      begin
      d:=d div 2;
      k:=k+1
      end;
writeln(k);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2013, 23:43
Помогаю со студенческими работами здесь

программа которая возвращает минимальное количество прыжков
Круг разбитый на 160 сегментов Всего 16 секторов и 10 колец. В дальнейшем каждый сегмент задается номером кольца (от 1 до 10 считая от...

Напишите программу выводящие минимальное количество прыжков
хуб может прыгать только на 6 делений вперед и на 7 делений назад. Напишите программу выводящие минимальное количество прыжков, которое...

Напишите программу, которая возвращает минимальное количество прыжков
Круг разбитый на 160 сегментов Всего 16 секторов и 10 колец. В дальнейшем каждый сегмент задается номером кольца (от 1 до 10 считая от...

Найти и вывести на экран минимальное значение элементов для каждого столбца матрицы, а также исходного массива
Написать программу для двумерного массива, размером 10*15 с помощью датчика случайных чисел. Найти и вывести на экран минимальное значение...

Структура: вывести на экран информацию о результатах прыжков в длину, отсортированную в порядке возрастания мест
В одном файле хранятся сведения об участниках соревнований: номер участника, ФИО, страна, во 2 файле сведения об итогах соревнований: номер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru