здравствуйте, я не понимаю условия задачи
209) (И. Женецкий) Назовём J-простым число, которое отличается не более, чем на 5, от числа, являющегося степенью двойки. Например, 11 является J-простым числом, т.к. оно простое и от отличается на 3 от числа 8 = 23 (и на 5 от числа 16 = 25). Найдите все J-простые числа в диапазоне [99999; 1048571] и выведите их в порядке возрастания. Справа от каждого числа выведите ближайшее число, которое является степенью двойки.
У меня получается много подходящих чисел
Например, число 131067 , ведь оно отличается от степени двойки - 131072, на 5(не более чем на 5), вроде подходит под ответ
далее 131068 , отличается от 131072 на 4
А в ответе эти числа не учитываются, а начинается ответ с 131071 131072
Подскажите пожалуйста в чем ошиблась!
a=[]
b=[]
for i in range (16, 24):
a.append(2**i)
print(a)
for j in range (99999, 1048571+1):
for i in range(len(a)):
if (abs(j-a[ i])<=5):
b.append(j)
print(b,a[ i], abs(j-a[ i]))
print(b)