小数点を検索(レベル2)

1307 ワード

1.質問



2.私の回答


def solution(numbers):
    nums = [n for n in numbers]
    max_num = int('9'*len(numbers))
    primes = set(range(2, max_num+1))
    for i in range(2, max_num+1):
        if i in primes:
            primes -= set(range(i*i, max_num+1, i))
    primes=list(primes)
    
    count = 0
    # rlt = []
    for p in primes:
        # temp = [str(x) for x in str(p)]
        temp_nums = [x for x in numbers]
        flag = 1
        for x in str(p):
            if x not in temp_nums:
                flag = 0
                break
            else:
                temp_nums.remove(x)
        if flag:
            count += 1
            # rlt.append(''.join(temp))
    # print(rlt)
    return count
タイムアウトしたからです.
少数の判別部分の論理をエラトスの体に応用した.

3.他人の回答





4.感じ

  • ディスプレイスメントモジュールを使えば簡単に解けます!