Загрузка данных
#5.
def f(n):
r = bin(n)[2:]
if n % 3:
r = r + bin((n % 3) * 3)[2:]
else:
r = r + r[-3:]
return int(r, 2)
for n in range(10000):
if f(n) >= 76:
print("5. ", n)
break
#11
from math import *
k = 15
N = 12 + 10
i = ceil(log2(N))
k2 = 2
N2 = 100 - 10
i2 = ceil(log2(N2))
V0 = 32
V1 = ceil((k * i) / 8)
V2 = ceil((k2 * i2) / 8)
print("11. ", V0 - V1 - V2)
#12
print("12. ", 400 - 169)
#13
from ipaddress import *
for mask in range(30, 0, -1):
net = ip_network(f"119.83.200.27/{mask}", 0)
if net[0] == ip_address("119.83.192.0"):
print("13. ", mask)
break
#14
f = (4 ** 1014) + (2 ** 1012) - 7
print("14. ", bin(f)[2:].count("1"))
#15
for A in range(120, 0, -1):
flag = True
for x in range(100):
for y in range(100):
f = (x + 3 * y > A) or (y < 30) or (x < 30)
if not f:
flag = False
continue
if not flag:
flag = False
continue
if flag:
print("15. ", A)
break
#16
from functools import *
@lru_cache(100)
def F(n):
if n <= 5:
return 1000
else:
return F(n - 2) + n + 3
for i in range(53081):
F(i)
print("16. ", 3 * F(53080) - (F(53078) + F(53076) + F(53074)))
#19, 20, 21
from sys import setrecursionlimit
setrecursionlimit(1000000)
def game(s, n):
if s <= 15:
return n % 2 == 0
elif n == 0:
return 0
f = []
for k in range(2, 10):
if s % k == 0:
f.append(game(s - k, n - 1))
if len(f) == 0:
s = s - 1
for k in range(2, 10):
if s % k == 0:
f.append(game(s - k, n - 1))
if n % 2:
return any(f)
else:
return all(f)
for i in range(16, 1000):
if game(i, 2):
print("19. ", i)
break
c = 0
print("20. ", end=" ")
for i in range(16, 1000):
if game(i, 3) and not game(i, 1):
print(i, end=" ")
c = c + 1
if c >= 2:
print("", end=f"\n")
break
for i in range(16, 1000):
if game(i, 4) and not game(i, 2):
print("21. ", i)
break
#23
def f(a, b):
if a > b and a:
return 0
elif a == b:
return 1
return f(a + 1, b) + f(a * 2, b) + f(a * 3, b)
def f24(a, b):
if a > b or a == 24:
return 0
elif a == b:
return 1
return f(a + 1, b) + f(a * 2, b) + f(a * 3, b)
def f27(a, b):
if a > b or a == 27:
return 0
elif a == b:
return 1
return f(a + 1, b) + f(a * 2, b) + f(a * 3, b)
print("23. ", f(9, 81) - f24(9, 81) - f27(9, 81))
print("23 - неверно, верное потом найдёшь")
#24
"""
f = open("24.txt").read()
mx = 0
print(f.count("EE"))
for x in "QWERTYUIOPASDFGHJKLZXCVBNM":
r = f.count(f"E{x}")
if r > mx:
mx = r
print("24. ", x, r)
#Другой путь
d = dict()
for i in range(len(f) - 1):
if f[i] == "E":
d[f[i + 1]] = d.get(f[i + 1], 0) + 1
print(d)
"""
#25
def div(n):
s = set()
for x in range(2, int(n ** 0.5) + 1):
if n % x == 0:
s.add(x)
s.add(n // x)
return sorted(s)
#print("25. Debug: ", div(100))
def m(n):
s = set()
for x in range(2, int(n ** 0.5) + 1):
if n % x == 0:
s.add(x)
s.add(n // x)
s = sorted(s)
if len(s) < 2:
return 0
else:
return sum(sorted(s)[-2:])
print("№ 25. ")
c = 0
n = 11_000_000
while c < 5:
mn = m(n)
if mn > 0 and mn < 10_000:
c = c + 1
print(mn)
n = n + 1
#26, 27 to be continued