Top.Mail.Ru

Перечень алгоритмов

11. Свойства чисел в списке

Пример. Определить количество чисел, у которых вторая с конца цифра – чётная

Дан список:

a= [1122, 3312, 2233, 6714, 5115, 5116, 7711, 8598, 1929,1]

Способ 1. Использование цикла for и операций // и %

n = len(a)
k=
0
for i in range(n):
     d = a[i]//
10         # отбросить младшую цифру числа
    
d= d%10               # вторая с конца
    
if d%2==0 and d > 0:
         k+=
1
print('k =',k)

# k = 2
Временная сложность: O (n)

 

Способ 2. Использование генератора списка и операций // и %

b = ([x for x in a if x//10%10%2==0 and x//10%10 > 0])
print('Кол-во=',len(b))

# Кол-во= 2
Временная сложность: O (n)

Способ 3. Использование цикла for и операции среза

k=0
b = ([ str(x) for x in a ])
for x in b:
  
if len(x) > 1 and x[-2] in ['0','2','4','6','8']:
           k+=
1
print('Кол-во=',k)

# Кол-во= 2
Временная сложность: O (n)