2022-06-18 09:18:45
Всё, что нужно знать про 25 задание
def dividers(x):
res = set()
for i in range(2, int(x ** 0.5) + 1):
if x % i == 0:
res.add(i)
res.add(x // i)
return sorted(res)
def simp_dividers(x):
i = 2
res = set()
while x > 1:
if x % i == 0:
x //= i
res.add(i)
else:
i += 1
return sorted(res)
# def M(x):
# for i in range(2, int(x ** 0.5) + 1):
# if x % i == 0:
# return i + x // i
# return 0
#
#
# x = 700000
# k = 0
# while k < 5:
# x += 1
# m = M(x)
# if m % 10 == 8:
# print(x, m)
# k += 1
# def S(x):
# i = 2
# res = set()
# while x > 1:
# if x % i == 0:
# x //= i
# res.add(i)
# else:
# i += 1
# if len(res) > 1:
# return sum(res)
# else:
# return 0
#
#
# x = 670000
# k = 0
# while k < 5:
# x += 1
# s = S(x)
# if s % 10 == 5:
# print(x, s)
# k += 1
# def M(x):
# res = set()
# for i in range(2, int(x ** 0.5) + 1):
# if x % i == 0:
# if i % 3 == 0: res.add(i)
# if x // i % 3 == 0: res.add(x // i)
# if len(res) == 5:
# return sorted(res)[-1]
# else:
# return 0
#
#
# x = 300000
# k = 0
# while k < 4:
# x += 1
# m = M(x)
# if m > 0:
# print(x, m)
# k += 1
# def dividers(x):
# res = set()
# for i in range(2, int(x ** 0.5) + 1):
# if x % i == 0:
# res.add(i)
# res.add(x // i)
# return sorted(res)
#
#
# for p in range(int((2 * 10 ** 9) ** 0.25), int((3 * 10 ** 9) ** 0.25) + 1):
# d = dividers(p)
# if len(d) == 0 and 2 * 10 ** 9 <= p**4 <= 3 * 10 ** 9:
# print(p ** 4, 1, p, p ** 2, p ** 3)
# def check(s):
# for i in range(1, len(s)):
# if s[i] <= s[i - 1]:
# return False
# return True
#
#
# import itertools
#
# res = set()
# cif = '0123456789'
# for r in range(7):
# for r_a in range(7):
# for r_b in range(r - r_a):
# for a_x in itertools.product(cif, repeat=r_a):
# a = ''.join(a_x)
# for b_x in itertools.product(cif, repeat=r_b):
# b = ''.join(b_x)
# s = '1' + a + '5' + b + '9'
# x = int(s)
# if x <= 10 ** 9 and x % 21 == 0 and check(s):
# res.add(x)
#
# for x in sorted(res):
# print(x, x // 21)
# def check(x):
# if x % 13 != 0: return False
# s = str(x)
# if s.count('1') > 0: return False # *1*
# if s[-1] == '2' and s[-4] == '4': return False # *4??2
# for i in range(len(s) - 3):
# if s[i] == '0' and s[i + 3] == '3':
# return False # *0??3*
# return True
#
#
# print('*1* *4??2 *0??3*')
# x = 700000
# k = 0
# while k < 5:
# x += 1
# if check(x):
# print(x)
# k += 1
129 views06:18