Числа вводятся с клавиатуры через запятую. Выведите два самых больших по модулю чисел ряда. Числа выведите по неубыванию абсолютного значения через пробел. Гарантируется, что в наборе чисел есть как минимум два уникальных числа, а также то, что искомые два максимума не равны друг другу по модулю.
Входные данные :
26, -2, 82, 78, 6, -95, 11, 86, -74, 86, -11
Выходные данные написать программу на языке Python! (рассмотреть случаи , когда все числа отрицательные и когда все положительные)
Вот моя прога , но она у меня неправильная :
s=input()
s=s.split(",")
a=list(map(int,s))
b=[]
c=[]
m1=0
m2=0
if (any(n<0 for n in a)):
for i in a:
if i<0:
b.append(i)
elif i>0:
c.append(i)
b=sorted(b,reverse=True)
c=sorted(c,reverse=True)
for i in b:
if abs(i)>m2:
m2=i
for i in c:
if i>m1 and i>m2:
m1=i
print(m1,m2)
else:
for i in a:
c.append(i)
for i in c:
if i>m1:
m1=i
for i in c:
if i>m2 and i m2=i
print(m1,m2)
Исходя из этого имеем (приведём всё к битам):
1) 5 бит
2) 15 байт = 15*8 бит = 120 бит
3) 1024 килобайт = 1024*1024 байт = 1048576 байт = 1048576 * 8 бит = 8388608 бит
4) 1024 мегабайт = 1024*1024*1024*8 бит = 8589934592 бит
5) 15 килобайт = 15*1024*8 бит = 122880 бит
Таким образом:
5 бит → 15 байт → 15 килобайт → 1024 килобайт → 1024 мегабайт
(хотя здесь и вычислять ничего не нужно - всё итак очевидно и без расчётов)
** (* - любой из символов В или С)
*А*
ААА*АА*
АА*ААА*
А**
** (пока 6 вариантов)
Далее - аналогично:
**А
ААА*А*А
АА*АА*А
А*ААА*А
**А (ещё 5 вариантов)
ААА**АА
АА*А*АА
А*АА*АА
*ААА*АА (ещё 4 варианта)
АА**ААА
А*А*ААА
*АА*ААА (ещё 3 варианта)
А**
*А* (ещё 2)
** (ещё 1)
Итого: 6+5+4+3+2+1=21
Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая.
Можно здесь, конечно, комбинаторику вспомнить.
Итого: 21*4 = 84