Digprime.py
Материал из DISCOPAL
Версия от 23:41, 30 апреля 2022; StasFomin (обсуждение | вклад) (Новая страница: «<source lang="python"> # globals input_str = "" dp = [[[-1, -1], [-1, -1]] for i in range(25)] def calculate(i, taken: int, ls: int) -> int: global input_…»)
# globals input_str = "" dp = [[[-1, -1], [-1, -1]] for i in range(25)] def calculate(i, taken: int, ls: int) -> int: global input_str global dp if i == len(input_str): return taken if dp[i][taken][ls] != -1: return int(dp[i][taken][ls]) res = 0 if ls: limit = 9 else: limit = int(input_str[i]) for x in range(limit + 1): res += calculate(i + 1, taken | (x == 2) | (x == 3) | (x == 5) | (x == 7), ls | (x != limit)) dp[i][taken][ls] = int(res) return int(res) test_count = int(input()) for i in range(test_count): input_str = input() for j in range(25): dp[j][0][0] = -1 dp[j][1][0] = -1 dp[j][1][1] = -1 dp[j][0][1] = -1 print(calculate(0, 0, 0))
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.