prb
Март 16, 2019 21:04:22
Добрый вечер, помогите, пожалуйста, с заданием
В диапазоне чисел от 10 до 100 вычеркнуть числа, у которых есть зеркальные “двойники”, а то что останется сохранить в отдельный файл.
Принцип, по которому вычеркиваются числа:
берется число, переворачивается (преобразовывается в палиндром) и этот “двойник” вычеркивается
Например,
берем число 12 = 21, значит 21 вычеркиваем
13 = 31; 31
…
45 = 54; 54 вычеркиваем и т.д.
Числа 11,22,33…99 тоже вычеркиваются.
VadimK
Март 16, 2019 22:37:22
Чосло в строку. Читаем строку от конечного символа к первому в новую строку. Эту строку в число. Ищем это число и вычеркиваем.
FishHook
Март 17, 2019 04:32:43
Это кто такое гениальное задание придумал? Очевидно, что останутся только круглые числа.
prb
Март 17, 2019 10:06:19
В том то и дело, что вычеркиваются не пары, а лишь зеркальное отображение.
Как-то так
FishHook
Март 17, 2019 10:35:26
Последовательность очевидная, работа со строками тут не нужна. Решается в один проход.
X = I // 10
If I - X * 10 > X - хорошее число
prb
Март 17, 2019 11:17:57
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)
FishHook
Март 17, 2019 11:38:34
Видимо да, у меня сейчас нет возможности запустить этот код
prb
Март 17, 2019 12:51:48
Хм, а какие буду условия для произвольных интервалов чисел?
Например, от 10 до 1000 или от 1000 до 10000 и т.д.?