본문 바로가기
프로그램

[파이썬] 문제 : n까지 소수 구하기

by 오디세이99 2022. 11. 1.
728x90
반응형

 

# 소수
num = int(input('n까지 소수를 구할 n를 입력하세요 : '))

if num < 3:
    print('잘 못 입력했습니다.')
else:
    n_min = 3
    n_max = num
    lst = []
    while n_min <= n_max:
        count = 0  # 약수의 수.. 1포함 약수가 2개면 소수
        i = 1      # 1~입력된 수까지 증가
        while i <= n_min:
            if n_min % i == 0:  # 나누어지면 약수
                count += 1
            i += 1  # 1증가
        if count == 2:  # 약수의 개수가 2개면 출력
            # print('{0}의 약수가 {1}개이므로 "소수"입니다.'.format(n_min, count))
            lst.append(n_min)

        n_min += 1  # 100까지 증가
    print(f"{n_max}까지의 소수 : {lst}")             
    print(f"{n_max}까지의 소수 중 가장 큰 소수는 {max(lst)}입니다.")

결과

n까지 소수를 구할 n를 입력하세요 : 100
100까지의 소수 : [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
100까지의 소수 중 가장 큰 소수는 97입니다.
728x90
반응형

댓글