본문 바로가기

PY(Python Image Processing)/중학수학기초

07소수와합성수

728x90
import csv

def sieve_of_eratosthenes(n):
    primes = [True for _ in range(n+1)]
    primes[0] = primes[1] = False

    p = 2
    while p * p <= n:
        if primes[p] == True:
            for i in range(p * p, n+1, p):
                primes[i] = False
        p += 1

    prime_numbers = [i for i in range(2, n+1) if primes[i]]
    return prime_numbers

# 사용자로부터 수 입력 받기
user_input = int(input("최대 범위 수를 입력하세요: "))
result = sieve_of_eratosthenes(user_input)

# 결과를 CSV 파일로 저장
file_name = f"prime_numbers_up_to_{user_input}.csv"
with open(file_name, mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['Prime Numbers'])
    for prime in result:
        writer.writerow([prime])

print(f"{file_name} 파일에 소수 목록을 저장했습니다.")
728x90

'PY(Python Image Processing) > 중학수학기초' 카테고리의 다른 글

09최대공약수와최소공배수  (0) 2024.08.15
08소인수분해  (0) 2024.08.15
06_0과절대값  (0) 2024.08.15
05무리수와실수  (0) 2024.08.15
04제곱근  (0) 2024.08.15