аватар question@mail.ru · 01.01.1970 03:00

Нечетные числа на отрезке

Даны два целых числа, A и B.
Необходимо вывести все нечетные числа на отрезке от А до B.
UPD: Использовать инструкцию if запрещено!

Входные данные:
На вход программе подаются два целых числа: A и B (AB), по одному в строке

Выходные данные:
Вывести через пробел все нечетные числа на заданном отрезке

Входные данные:

110

Выходные данные:

1 3 5 7 9

Мой код не всегда работает: например, если A - отрицательное и чётное.

Код:

a = int(input())b = int(input())for i in range(a - (a + 1) % 2, b - b % 2, 2):    print(i, end=' ')
аватар answer@mail.ru · 01.01.1970 03:00

Чтобы из четного числа получить нечетное больше на единицу применим побитовое ИЛИ с единицей: a|1. Далее обычный цикл от а до б через 2:

a = int(input())b = int(input())for i in range(a|1, b+1, 2): # +1, чтобы попало b, если нечётное     print(i, end=' ')

Последние

Похожие