2 条题解

  • 1
    @ 2022-12-31 16:05:48

    Python :

    # coding=utf-8
    def construct_plist():
        MAX = 10**6+1
        fl = [0 for _ in range(MAX)]
        prime_list = []
        for i in range(2, MAX):
            if fl[i]:
                continue
            prime_list.append(i)
            for j in range(i, MAX, i):
                fl[j] = 1
        return prime_list
    
    prime_list = construct_plist()
    N = int(input())
    ANS = 0
    LEN = len(prime_list)
    q = LEN - 1
    
    for i in range(LEN):
        while i < q and prime_list[i]*prime_list[q]**3 > N:
            q -= 1
        if i >= q:
            break
        ANS += q - i
    
    print(ANS)
    
    • @ 2023-1-19 15:34:42
      for j in range(i, MAX, i):
                  fl[j] = 1
      

      你好,请问这是什么意思啊

信息

ID
20990
时间
2000ms
内存
256MiB
难度
8
标签
(无)
递交数
107
已通过
17
上传者