1. Нахождение количества элементов списка
# Количество всех элементов списка
a = [1,5,7,12,3,4]
k = 0
for i in a:
k = k + 1
print(k)
# Ответ 6
# Количество всех четных элементов списка
a = [1,5,7,12,3,4]
k = 0
for i in a:
if i%2 == 0:
k = k + 1
print(k)
# Ответ 2
2. Нахождение суммы элементов списка
# Сумма всех элементов списка
a = [1,5,7,12,3,4]
m = 0
for i in a:
m = m + i
print(m)
# Ответ 32
# Сумма четных элементов списка
a = [1,5,7,12,3,4]
m = 0
for i in a:
if i%2 == 0:
m = m + i
print(m)
# Ответ 16
3. Нахождение делителей числа
# Простой, но долгий алгоритм делителей числа (подходит для небольших чисел)
n = 100
for i in range(1,n+1):
if n%i == 0:
print(i)
# Ответ 1, 2, 4, 5, 10, 20, 25, 50, 100
# Более сложный, но быстрый алгоритм делителей числа (подходит для больших чисел)
n = 100000001
for i in range(1,int(n**0.5)+1):
if n%i == 0:
print(i)
if n/i != i:
print(n/i)
# Ответ 1, 17, 5882353, 100000001
# Количество делителей (используем простой алгоритм)
n = 100
k = 0
for i in range(1,n+1):
if n%i == 0:
k = k + 1
print(k)
# Ответ 9
# Проверка числа на простоту (используем простой алгоритм)
n = 7
k = 0
for i in range(1,n+1):
if n%i == 0:
k = k + 1
if k > 2:
print('не простое число')
else:
print('простое число')
# Ответ простое
4. Перевод в любую систему счисления
Перевод в любую систему счисления с основанием меньше 10. Например в двоичную.
a = 12
s = ''
while a != 0:
b = a % 2
s = b + s
a = a // 2
print(s)
Перевод в любую систему счисления с основанием больше 10. Например в девятнадцатиричную.
alf = '0123456789ABCDEFGJIJK'
a = 12
s = ''
while a != 0:
b = alf[a % 19]
s = b + s
a = a // 19
print(s)
