Programmers/1단계

[1단계][연습문제] 소수 찾기

Snowboarder 2022. 3. 25. 17:30

문제접근

  •  

문제풀이

내풀이

def solution(n):
    num=set(range(2,n+1))

    for i in range(2,n+1):
        if i in num:
            num-=set(range(2*i,n+1,i))
    return len(num)

다른사람풀이

def numberOfPrime(n):
    sum = 0
    s = 0
    for i in range(2,n+1):
        for j in range(2,i):
            if i % j == 0:
                s += 1
        if s == 0:
            sum += 1
        s = 0
    return sum
def numberOfPrime(n):
    # 1부터 n사이의 소수는 몇 개인가요?
    return 0
def is_prime(n):
    return all([(n%j) for j in range(2, int(n**0.5)+1)]) and n>1

def numberOfPrime(n):
    return [is_prime(x) for x in range(1, n+1)].count(True)
def numberOfPrime(n):
    def isprime(m):
        for i in range(3, round(m **0.5)+1, 2): 
            if(m % i is 0):
                return False
        return True
    return len([i for i in range(2, n+1) if(i is 2 or isprime(i) and i%2 is not 0)])
def numberOfPrime(n):
    return len([i for i in range(2, n + 1) if len([True for j in range(1, i) if i % j == 0]) == 1])