问题描述
小U最近沉迷于一款冒险游戏,在闯关过程中,他通过击败小兵获得了防御宝石,每个防御宝石的价值为 aiai。经过一番激战,小U终于遇到了关底的boss,这个boss拥有攻击宝石,每颗攻击宝石的价值为 bibi。小U想知道他手中的防御宝石是否能够抵抗住boss的攻击。
小U的防御成功条件是:所有防御宝石的乘积 ∏i=1nai∏i=1nai 可以被所有攻击宝石的乘积 ∏i=1mbi∏i=1mbi 整除。你能帮小U判断他是否能够抵抗住boss的攻击吗?
代码
def solution(n, m, arrayn, arraym):
# Edit your code here
assert n == len(arrayn)
assert m == len(arraym)
x1 = x2 = 1
for x in arrayn:
x1 *= x
for x in arraym:
x2 *= x
return "yes" if x1 % x2 == 0 else "no"
if __name__ == "__main__":
# Add your test cases here
print(solution(2, 5, [10, 12], [2, 3, 5, 2, 1]) == "yes")
print(solution(4, 5, [7, 2, 5, 3], [2, 4, 5, 6, 1]) == "no")