题解 | #Problem C#

Problem C

https://www.nowcoder.com/practice/2a05dcaa4cde4db989443f206ee3e5c5

while True:
    try:
        t = int(input())  # 获取测试用例的数量
        for _ in range(t):
            s = input().strip()  # 获取输入字符串
            n = ''.join(i for i in s if i.isdigit())  # 提取数字部分
            if not n:
                print(0)
                continue
            n = int(n)
            if n == 1:
                print(0)
                continue
            # 找到最小的质因数
            for i in range(2, int(n ** 0.5) + 1):
                if n % i == 0:
                    while n % i == 0:
                        n //= i
                    if n == 1:
                        print(i)
                        break
            else:
                if n > 1:
                    print(n)
    except:
        break

全部评论

相关推荐

11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳  yidao,试用期 6 个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
09-29 11:19
门头沟学院 Java
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务