Уведомления

Группа в Telegram: @pythonsu

#1 Март 16, 2019 21:04:22

prb
Зарегистрирован: 2019-03-16
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

Добрый вечер, помогите, пожалуйста, с заданием

В диапазоне чисел от 10 до 100 вычеркнуть числа, у которых есть зеркальные “двойники”, а то что останется сохранить в отдельный файл.

Принцип, по которому вычеркиваются числа:
берется число, переворачивается (преобразовывается в палиндром) и этот “двойник” вычеркивается
Например,
берем число 12 = 21, значит 21 вычеркиваем
13 = 31; 31

45 = 54; 54 вычеркиваем и т.д.

Числа 11,22,33…99 тоже вычеркиваются.

Офлайн

#2 Март 16, 2019 22:37:22

VadimK
Зарегистрирован: 2013-07-03
Сообщения: 199
Репутация: +  16  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

Чосло в строку. Читаем строку от конечного символа к первому в новую строку. Эту строку в число. Ищем это число и вычеркиваем.

Офлайн

#3 Март 17, 2019 04:32:43

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

Это кто такое гениальное задание придумал? Очевидно, что останутся только круглые числа.



Офлайн

#4 Март 17, 2019 10:06:19

prb
Зарегистрирован: 2019-03-16
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

В том то и дело, что вычеркиваются не пары, а лишь зеркальное отображение.
Как-то так

Прикреплённый файлы:
attachment photofacefun_com_1552809593 - копия.jpg (40,5 KБ)

Офлайн

#5 Март 17, 2019 10:35:26

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

Последовательность очевидная, работа со строками тут не нужна. Решается в один проход.
X = I // 10
If I - X * 10 > X - хорошее число



Офлайн

#6 Март 17, 2019 11:17:57

prb
Зарегистрирован: 2019-03-16
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

FishHook, большое спасибо, что откликнулись.
Получается, в полном виде программа будет выглядеть как-то так?

 for i in range (10, 100+1):
    x = i // 10
    if i - x * 10 > x:
        print (i)
    elif i - x * 10 == 0:
        print (i)

Отредактировано prb (Март 17, 2019 11:18:32)

Офлайн

#7 Март 17, 2019 11:38:34

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

Видимо да, у меня сейчас нет возможности запустить этот код



Офлайн

#8 Март 17, 2019 12:51:48

prb
Зарегистрирован: 2019-03-16
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вычеркивание зеркальных копий числа

Хм, а какие буду условия для произвольных интервалов чисел?
Например, от 10 до 1000 или от 1000 до 10000 и т.д.?

Отредактировано prb (Март 17, 2019 12:52:22)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version