zoukankan      html  css  js  c++  java
  • PTA(BasicLevel)-1094 谷歌的招聘

    一、问题定义

    2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,

    而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。

    自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:e = 2.718281828459045235360287471352662497757247093699959574966967627724076630353547594571382178525166427427466391932003059921... 其中粗体标出的 10 位数就是答案。

    本题要求你编程解决一个更通用的问题:从任一给定的长度为 L 的数字中,找出最早出现的 K 位连续数字所组成的素数。

    输入格式:

    输入在第一行给出 2 个正整数,分别是 L(不超过 1000 的正整数,为数字长度)和 K(小于 10 的正整数)。接下来一行给出一个长度为 L 的正整数 N。

    输出格式:

    在一行中输出 N 中最早出现的 K 位连续数字所组成的素数。如果这样的素数不存在,则输出 404。注意,原始数字中的前导零也计算在位数之内。例如在 200236 中找 4 位素数,0023 算是解;但第一位 2 不能被当成 0002 输出,因为在原始数字中不存在这个 2 的前导零。

    输入样例 1:

    20 5
    23654987725541023819

    输出样例 1:

    49877

    输入样例 2:

    10 3
    2468024680

    输出样例 2:

    404

    二、解题

    # 在这个问题上, 用C/C++ 比python快 4到5倍, 内存只用python的1/9
    import math
    input_nums = input()
    L, N = [int(num) for num in input_nums.split(" ")]
    number = input() #length = L
    
    def is_prime_sqrt(N):
        if N <= 1:
            return False
        else:
            flag = True
            num = int(math.sqrt(N))
            for  i in range(2, num+1):
                if (N % i) == 0:
                    flag = False
                    break
            return flag
    
    # 找N以上的, 如果L小于N就不考虑
    flag = 0
    for i in range(L - N + 1):
        cur_num = int(number[i:i+N])
        num_string = number[i:i+N]
        # print(cur_num)    if 200236, then 0023
        if is_prime_sqrt(cur_num):
            flag = 1
            break
    
    if flag == 1:
        print(num_string)
    else:
        print("404")    
  • 相关阅读:
    Building a Space Station POJ
    Networking POJ
    POJ 1251 Jungle Roads
    CodeForces
    CodeForces
    kuangbin专题 专题一 简单搜索 POJ 1426 Find The Multiple
    The Preliminary Contest for ICPC Asia Shenyang 2019 F. Honk's pool
    The Preliminary Contest for ICPC Asia Shenyang 2019 H. Texas hold'em Poker
    The Preliminary Contest for ICPC Asia Xuzhou 2019 E. XKC's basketball team
    robotparser (File Formats) – Python 中文开发手册
  • 原文地址:https://www.cnblogs.com/justLittleStar/p/13193417.html
Copyright © 2011-2022 走看看