模式折出来是多少
把一段字符折成一个数:h = (h * 31 + 字母序号) % 17,a 记 1、b 记 2、c 记 3。
T = "abababcababcabababc"
P = "ababc"
BASE = 31
MOD = 17
def hs(s):
h = 0
for c in s:
h = (h * BASE + ord(c) - 96) % MOD
return h
print(hs(P))
把一段字符折成一个数:h = (h * 31 + 字母序号) % 17,a 记 1、b 记 2、c 记 3。
T = "abababcababcabababc"
P = "ababc"
BASE = 31
MOD = 17
def hs(s):
h = 0
for c in s:
h = (h * BASE + ord(c) - 96) % MOD
return h
print(hs(P))
全部评论