На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 30
ссылка на сообщение  Отправлено: 02.05.22 03:34. Заголовок: задание 25 номер 209


здравствуйте, я не понимаю условия задачи
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)



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 2 [только новые]





Сообщение: 72
ссылка на сообщение  Отправлено: 05.05.22 04:55. Заголовок: У вас проверяется от..


 
def p(x):
return x>1 and all(x%i!=0 for i in range(2,int(x**0.5)+1))
for x in range(99999,1048571+1):
if p(x):
y=len(bin(x)[2:])
if abs(x - 2**(y-1))<=5 or abs(x - 2**y)<=5:
if abs(x - 2**(y-1)) < abs(x - 2**y):
print(x,2**y-1)
else:
print(x,2**y)



Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 73
ссылка на сообщение  Отправлено: 05.05.22 04:58. Заголовок: число 131067 состав..


число 131067 составное, а по условию числа простые должны быть. А у Вас нет проверки простое число или нет.

Спасибо: 1 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2368
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет