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

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

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

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





Сообщение: 10
ссылка на сообщение  Отправлено: 18.03.23 10:22. Заголовок: 3909


Здравствуйте,
что-то не тек с ответом
480
1 получаем из него двоичную запись =111100000
2 тк 0 больше то дописываем 1 =1111000001
3 0 и 1 одинакова - то дописываем 1 = 11110000011
получили 1923
- Результат переводится в десятичную систему счисления.
При каком наибольшем исходном числе N < 750 в результате работы алгоритма получится чётное число, которое не делится на 4?
ДА оно не делится на 4, но не четное

for i in range(750):
n=bin(i)[2:]
if n.count('1')==n.count('0'):
n=n+n[-1]
else:
if n.count('1')>n.count('0'):
n=n+'0'
if n.count('1')<n.count('0'):
n=n+'1'
if n.count('1')==n.count('0'):
n=n+n[-1]
else:
if n.count('1')>n.count('0'):
n=n+'0'
if n.count('1')<n.count('0'):
n=n+'1'
g=int(n,2)
if g%2==0 and g%4!=0:
print(i)

получается 737

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







Сообщение: 7
ссылка на сообщение  Отправлено: 18.03.23 23:23. Заголовок: 1) Строится двоичная..



 цитата:
1) Строится двоичная запись числа N.
2) Подсчитывается количество нулей и единиц в полученной записи. Если их количество одинаково, в конец записи добавляется её последняя цифра. В противном случае в конец записи добавляется цифра, которая встречается реже.
3) Шаг 2 повторяется ещё два раза.
4) Результат переводится в десятичную систему счисления.



1) Строится двоичная запись числа N.
2) Повторить 3 раза: Подсчитывается количество нулей и единиц в полученной записи. Если их количество одинаково, в конец записи добавляется её последняя цифра. В противном случае в конец записи добавляется цифра, которая встречается реже.

4) Результат переводится в десятичную систему счисления.

Программа делает, не то что хочет программист, а то что он ей приказал делать. Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 371
ссылка на сообщение  Отправлено: 24.03.23 11:12. Заголовок: 988013@mail.ru пишет..


988013@mail.ru пишет:

 цитата:
Здравствуйте,
что-то не тек с ответом
480

Можно примерно так:
 
for N in range(749,1,-1):
r = bin(N)[2:]
if r.count('1')==r.count('0'):r = r + r[-1]
elif r.count('1')>r.count('0'): r = r + '0'
else: r = r+'1'
if r.count('1')==r.count('0'):r = r + r[-1]
elif r.count('1')>r.count('0'): r = r + '0'
else: r = r+'1'
if r.count('1')==r.count('0'):r = r + r[-1]
elif r.count('1')>r.count('0'): r = r + '0'
else: r = r+'1'
R = int(r,2)
if R%2 == 0 and R%4!= 0:
print(N)
break


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





Сообщение: 372
ссылка на сообщение  Отправлено: 24.03.23 11:20. Заголовок: А так будет и короче..


А так будет и короче, и, понятнее
 
def f(N):
r = bin(N)[2:]
for i in range(3):
if r.count('1')==r.count('0'):r = r + r[-1]
elif r.count('1')>r.count('0'): r = r + '0'
else: r = r+'1'
return int(r,2)

for N in range(749,1,-1):
if f(N)%2 == 0 and f(N)%4!= 0:
print(N)
break


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

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