Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 08.11.2021
Сообщений: 11

Вася строит дом

27.09.2022, 12:06. Показов 1391. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте! Решаю задачу с Сириус курсов и вроде построил логичный алгоритм, но почему то он где то зацикливается в бесконечность.
Задача
Мальчик Вася живёт на координатной прямой. На этой прямой в точке A располагается школа, а в точке B — любимый Васин компьютерный клуб. Также в точках …,−d,0,d,…,k⋅d,…, где k — произвольное целое число, а d — чётное натуральное число, расположены киоски с мороженым. Вася хочет построить дом в некоторой точке с целой координатой. При этом, ему хочется, чтобы расстояние от дома до школы и от дома до компьютерного клуба было одинаковым. Если это вдруг невозможно, то он хочет, чтобы сумма этих расстояний была как можно меньше, а также чтобы расстояния отличались как можно меньше друг от друга. Если под Васин дом подходит несколько вариантов точек, то он выберет ту, расстояние от которой до ближайшего киоска с мороженым минимально. Помогите Васе выбрать точку, где строить дом, а также выведите расстояние до ближайшего киоска с мороженым. Вася может строить дом в точке, где уже есть другие строения.
Входные данные
В единственной строке входных данных заданы три числа — A, B и d. Гарантируется, что A и B — целые числа, по модулю не превышающие 2*109, A≠B. d — чётное натуральное число, 2≤d≤2*109.
Выходные данные
В единственной строке выходных данных выведите два целых числа — координату точки, где Васе необходимо построить дом, и расстояние до ближайшего киоска с мороженым.
Картинки с пояснениями прилагаются
Мой код, который при каком-то из ввод превращается в бесконечный цикл:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
a=input().split()
if int(a[0])>int(a[1]):
    A=int(a[1])
    B=int(a[0])
else:
    A=int(a[0])
    B=int(a[1])
e=int(a[2])
if A<0:
    i=A-e
else:
    i=0
rz=e
if (B-A)%2==0:
    for l in range(i,B,e):
        if int(abs(A+(B-A)/2-l))<rz:
            rz=int(abs(A+(B-A)/2-l))
    print(int(A+(B-A)/2), abs(rz))
else:
    rz1=e
    for j in range(i,B,e):
        if int(abs(A+(B-A)/2-j))<rz:
            rz=int(abs(A+(B-A)/2-j))
    for o in range(i,B,e):
        if int(abs(A+(B-A)/2+1-o))<rz1:
            rz1=int(abs(A+(B-A)/2+1-o))
    if rz1>rz:
        print(int(A+(B-A)//2),abs(rz))
    else:
        print(int(A+(B-A)//2+1),abs(rz1))
Миниатюры
Вася строит дом  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.09.2022, 12:06
Ответы с готовыми решениями:

Вася с друзьями играют в игру. Вася берёт трёхзначное число, последнюю цифру вычёркивает
Вася с друзьями играют в игру. Вася берёт трёхзначное число, последнюю цифру вычёркивает и прибавляет её к полученному двузначному числу....

Яндекс задачи. Вася с сестрой Соней играли в морской бой. Вася вспомнил, что должен Соне с домашним заданием по р
Добрый день, помогите с задачей Вася с сестрой Соней играли в морской бой. Вася вспомнил, что должен помочь Соне с домашним заданием по...

Задача: Вася строит дом
Здравствуйте, имеется такая задача: Мальчик Вася живёт на координатной прямой. На этой прямой в точке A располагается школа, а в точке B...

2
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
27.09.2022, 17:57
Задача решается в одно, ну ладно, в два действия и без всякого компьютера. Это если применить хоть капельку здравого смысла.
Цитата Сообщение от chebudelphin Посмотреть сообщение
на координатной прямой
Цитата Сообщение от chebudelphin Посмотреть сообщение
расстояние от дома до школы и от дома до компьютерного клуба было одинаковым
0
0 / 0 / 0
Регистрация: 08.11.2021
Сообщений: 11
27.09.2022, 19:36  [ТС]
Нужно код написать, поэтому без компьютера не обойтись)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.09.2022, 19:36
Помогаю со студенческими работами здесь

Вася строит дом
Помогите решить задачу! Вася строит дом Мальчик Вася живёт на координатной прямой. На этой прямой в точке A располагается школа, а в...

Вася строит дом
Вася строит дом Мальчик Вася живёт на координатной прямой. На этой прямой в точке A располагается школа, а в точке B — любимый Васин...

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

Вася и Петя решили потренироваться в арифметике. Вася загадал какое-то число, а Петя начал перечислять операции
Добрый вечер, столкнулся с одной задачей и не очень понимаю что я делаю не так, буду очень благодарен! Мой код: char1, char2, char3,...

Вася Пупкин и вася пупкин для Яши не одно и тоже.
Продвигаю книжный сайт, там есть книга автора Васи Пупкина. Двигаем это слово &quot;Вася Пупкин&quot;. Продвинул до 2-го места. После...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru