Data structure

에라토스의 체(python)

study ticket 2021. 12. 2. 00:02

방법1

if __name__ == "__main__":
    #크기는 100이라고 가정
    arr=[]
    for i in range(101):
        arr.append(i)
    for i in range(11):
        if(arr[i]==0 or arr[i]==1):
            arr[i]=False
            continue
        if(arr[i]!=False):
            for k in range(i+i,101,i):
                arr[k]=False
print(arr)

방법2

if __name__ == "__main__":
    #100까지의 수에서의 소수 구하기
    num=int(input())
    decimal=[]
    chk=False
    for i in range(2,num):
        if(i==2):
            decimal.append(i)
        else:
            for k in decimal:
                if(i%k==0):
                    chk=True
            if(chk==True):
                chk=False
            else:
                decimal.append(i)
print(decimal)

 

728x90