Регистрация
5 Дек 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
Есть программа которая должна выдать элемент массива, двоичная запись которого содержит больше всего единиц (сначала вводится кол-во элементов массива, затем сами элементы), но она не работает. Где здесь ошибка?



Код:



n = int(input())

a = []

for i in range(n):

a.append(int(input()))

print(a)

maxa = 0

for i in range(len(n)):

k = 0

z = a

while a > 0:

if a % 2 == 1:

k = k + 1

a = // 2

maxk = 0

if с > maxс:

maxa = k

maxk = z

print(maxa, maxk)
 
Нормально отрформатируй код, тогда может получишь больше нормальных ответов. На первый взгляд в твоём уродском коде можно выявить 3 уродства, помимо очевидного неумения тобой писать программы на питоне.
Во-первых: что делает эта строчка?
a = // 2
Можете нужно a = a // 2
Во-вторых что такое в твоём уродском коде переменные z,k,maxk, и самое главное, что такое переменная с, откуда она у тебя взялась в твоём уродском коде?
В-третьих, ты явно выводишь не ответ, так как он состоит из 1 числа, а ты выводишь 2
 
Назад
Сверху