题解 | 因数博弈

因数博弈

https://www.nowcoder.com/practice/f51bc958f8a24537bccaf1e893957056

观察出来的,将这个数进行质因数分解。如果分解出来的数量是2个,例如4=2*2,6=2*3。那么就是Bob获胜,其余情况则是Alice获胜。

def prime_factors(n):
    factors = []
    x = n
    i = 2
    while i * i <= x:
        while x % i == 0:
            factors.append(i)
            x //= i
        i += 1
    if x > 1:
        factors.append(x)
    return factors

n = int(input())
factors = prime_factors(n)
if len(factors) == 2:
    print("Bob")
else:
    print("Alice")

全部评论

相关推荐

10-09 19:08
已编辑
门头沟学院 Java
后端转测开第一人:换个模版 技术栈写的精炼紧凑一点 多投就行
点赞 评论 收藏
分享
牛至超人:把哈工大,再加大加粗,看见闪闪发光的哈工大字样,面试官直接流口水
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务