2023. 12. 7. 20:40ㆍMemo/code
블로그 글을 작성하기 전에 첨부된 파이썬 코드를 분석하겠습니다. 이 코드는 특별한 종류의 소수인 '에미르프(Emirp)'를 찾는 프로그램입니다. 에미르프는 앞으로 읽어도, 뒤로 읽어도 소수인 숫자이지만, 원래 숫자와 뒤집힌 숫자가 동일하지 않아야 합니다. 예를 들면 13은 앞으로 읽어도 (13), 뒤로 읽어도 (31) 소수이지만, 두 숫자는 서로 다릅니다.
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def reverse_number(n):
return int(str(n)[::-1])
def find_emirps(limit):
emirps = []
for i in range(13, limit + 1): # Starting from 13 as it's the first emirp
if is_prime(i):
reversed_i = reverse_number(i)
if i != reversed_i and is_prime(reversed_i):
emirps.append(i)
return emirps
# Set a limit to search for emirps up to that number
limit = 12000
emirps_up_to_limit = find_emirps(limit)
print(emirps_up_to_limit)
- 소수 판별 함수 (
is_prime
)- 이 함수는 주어진 숫자
n
이 소수인지 판별합니다. - 소수는 1과 자기 자신만으로 나눌 수 있는 숫자이며,
is_prime
함수는 2부터n
의 제곱근까지의 모든 숫자로n
을 나누어 본다. 만약n
이 이 범위 안의 어떤 숫자로도 나누어 떨어지면, 그 숫자는 소수가 아닙니다.
- 이 함수는 주어진 숫자
- 숫자 뒤집기 함수 (
reverse_number
)- 이 함수는 주어진 숫자
n
을 문자열로 변환한 후 뒤집어서, 다시 정수로 변환합니다. - 예를 들어,
n
이 123이라면, 이 함수는 321을 반환합니다.
- 이 함수는 주어진 숫자
- 에미르프 찾기 함수 (
find_emirps
)- 이 함수는 주어진 한계값
limit
까지의 모든 에미르프를 찾아 리스트로 반환합니다. - 함수는 13부터 시작하여 (13이 첫 번째 에미르프이기 때문에) 주어진
limit
까지 숫자를 순회합니다. 각 숫자에 대해, 그것이 소수인지, 그리고 그 숫자를 뒤집었을 때도 소수인지를 검사합니다. 두 조건 모두 만족하며 원래 숫자와 뒤집힌 숫자가 다르면, 그 숫자는 에미르프로 간주되어 리스트에 추가됩니다.
- 이 함수는 주어진 한계값
에미르프(Emirp) 찾기: 흥미로운 수학적 탐험
수학의 세계는 끝없이 흥미로운 발견으로 가득 차 있습니다. 오늘은 그 중에서도 매우 특별한 종류의 소수인 '에미르프(Emirp)'에 대해 알아보겠습니다. 에미르프는 앞으로 읽어도, 뒤로 읽어도 소수인 숫자로, 수학적 탐구의 매력적인 주제입니다.
소수란 무엇인가?
먼저, 소수의 개념을 이해해야 합니다. 소수는 오직 1과 자기 자신만으로 나눌 수 있는 숫자를 의미합니다. 예를 들어, 2, 3, 5, 7 등이 소수입니다. 이러한 소수를 판별하기 위해, '소수 판별 함수'를 사용할 수 있습니다. 이 함수는 특정 숫자가 소수인지 아닌지를 빠르게 확인할 수 있게 도와줍니다.
에미르프(Emirp)란?
에미르프는 숫자를 앞으로 읽었을 때와 뒤로 읽었을 때 모두 소수인 특별한 숫자입니다. 하지만, 단순히 뒤집힌 숫자가 소수인 경우만 해당하지 않고, 뒤집힌 숫자가 원래 숫자와 달라야 합니다. 예를 들어, 13은 31로 뒤집어도 둘 다 소수이므로 에미르프에 해당합니다.
에미르프 찾기 프로그램
이러한 에미르프를 찾기 위한 파이썬 프로그램을 소개합니다. 이 프로그램은 세 부분으로 구성되어 있습니다: 소수 판별, 숫자 뒤집기, 그리고 에미르프 찾기. 프로그램은 주어진 한계값까지의 모든 에미르프를 찾아 출력합니다. 예를 들어, 12000까지의 에미르프를 찾고 싶다면, 프로그램은 이 범위 내에서 모든 에미르프를 찾아 리스트로 보여줍니다.
수학적 탐험의 즐거움
이러한 프로그램을 통해, 우리는 수학적 개념을 더 깊이 탐구하고, 새로운 발견의 즐거움을 경험할 수 있습니다. 에미르프와 같은 흥미로운 수학적 개념은 우리에게 새로운 관점과 발견의 기쁨을 제공합니다.
'Memo > code' 카테고리의 다른 글
100mb 넘는 파일을 자동으로 gitignore에 포함시키기 (0) | 2024.05.13 |
---|---|
auto-editor을 이용한 파이널 자동 컷 편집: Final Cut Pro X를 위한 혁신적인 접근 AI (1) | 2024.01.11 |
이북 캡처 프로그램 | ebook을 pdf로 변환하는 python code (1) | 2024.01.11 |
LaTeX Bracket to Dollar Converter (0) | 2023.09.18 |
LaTeX 2 PNG 수식 이미지 변환기 by Ray (LaTex to image) (0) | 2023.09.11 |