728x90
반응형
#2보다 큰 짝수 n이 주어진다 이 n이라는 결과값(합)이 나오는 두 개의 소수를 출력하라
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def goldbach(n):
if n < 4:
return []
primes = [2]
for i in range(3, n + 1, 2):
if is_prime(i):
primes.append(i)
pairs = []
for i in range(len(primes)):
for j in range(i, len(primes)):
if primes[i] + primes[j] == n:
pairs.append((primes[i], primes[j]))
return pairs
n = int(input("2보다 큰 짝수를 입력해주세요 : "))
print("해당 숫자의 골드바흐 파티션은 :", goldbach(n))
#골드바흐 파티션의 갯수를 출력 한 줄에 하나씩
t = int(input())
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def goldbach(n):
if n < 4:
return []
primes = [2]
for i in range(3, n + 1, 2):
if is_prime(i):
primes.append(i)
count = 0
for i in range(len(primes)):
for j in range(i, len(primes)):
if primes[i] + primes[j] == n:
count += 1
return count
for i in range(t):
n = int(input())
print(goldbach(n))
728x90
반응형
'hacking sorcerer' 카테고리의 다른 글
알빠펫 (0) | 2023.02.01 |
---|---|
깊이 우선 탐색 (0) | 2023.02.01 |
깔끔한 쨰각째각 (0) | 2023.01.28 |
너무나 아름다운 논리 (0) | 2023.01.27 |
챗 보크 만들기 (0) | 2023.01.25 |