약수의 역수의 합에 관한 증명과 해석

탐구 보고서
약수의 역수의 합과 소수와의 관계성
작성자 이름:이강현
2023 8 9
저는 어느 날, 완전수의 약수에 관하여 탐구 중에 완전수의 약수의 역수의 합이 2가 된다는 것을
발견하였습니다. 이를 토대로 저는 모든 완전수에서 이것이 성립하는지, 그리고 완전수가 아닌
불완전수에서는 어떤 규칙이 성립하는지가 궁금했습니다. 또한 약수의 역수의 합을 그래프로
그린다면 어떤 형식을 띌지도 궁금해졌습니다.
완전 역수 2 , 각각 2, 2
것이. , 특징 필연
띌것.
1. Pycharm (Python )
2. Google Spreadsheet ( )
1. 완전 역수
2. 불완 역수
3. Pycharm 약수 합을
4. 도출 Excel 변환, 도출
1
1. 완전수에서의 약수의 역수의
완전수의 정의는 자기 자신을 제외한 모든 약수의 합이 자기 자신과 같은 자연수를 말한다. 예를
들자면, 6, 28, 496, 8128, 33550336 무한히 많이 존재한다. 그렇다면 이제 이런 완전수에서의
약수의 역수의 합을 하나만 구해보자. 가장 간단한 6으로 해보겠다. 6은 약수가 1,2,3,6이
존재하기에, (1)에서처럼 계산되는것을 알수 있으며, 값은 2가 된다는 것을 있다.
(1)
이런 계산은 다른 완전수에서도 성립하는데, 이를 이제 일반화 해보자.
어떤 완전수 있다고 하자. 이때 약수를 (단, )이라고 하자. 즉, 완전수의
약수의 개수를 개라고 한것이며, , 이게 된것이다. 이제 두개의 식을 작성할
있는데, 먼저 앞에서 말한 완전수의 정의를 이용하여 (2)의 식을 세울 있고, (2) 식을 사용하면
(3)도 도출해낼 있다.
(2)
(3)
그리고, 약수의 특성에 따라 (4)의 식도 도출되는데, (4)식의 예시를 들어보자면 25의 약수인 1, 5,
25에서 되는 것으로 확인할수 있다.
(4)
그럼 이제 증명을 해보자.
2
완전수의 약수의 합은 다음과 같이 표현된다.
(4) 식을 이용하면 위의 식은
같이 표현된다.
여기서 이므로,
이고, 여기서 (3)식에 따라
되어 모든 완전수의 약수의 역수의 합은 2가 된다.
3
2. 불완전수에서의 약수의 역수의
완전수에서 약수의 역수의 합이 2였다면 불완전수(과잉수, 부족수)에서는 어떤 식으로 나타날까?
사실 이는 간단히 증명할 있다. 먼저, 부족수는 자기자신을 제외한 약수의 합이 자기자신 보다
작은 수로, (5)-1에서 처럼 되고, 과잉수는 반대로 자기자신을 제외한 약수의 합이 자기자신 보다
이기에 (5)-2 처럼 된다.
(5)-1
(5)-2
따라서, 부족수는 약수의 역수의 합이 2미만이고, 과잉수는 약수의 역수의 합이 2초과이다.
4
3. Pycharm을 이용한 약수의 역수의
이제 약수의 역수의 합의 범위와 규칙을 찾기 위하여 그래프를 그릴 것이다. 하지만 그래프를
그리기 위해서는 자료가 필요하기 때문에 Pycharm을 이용하여 범위 내에 있는
모든 n의 각각의 약수의 역수의 합을 계산하는 프로그램을 만들 것이다. (N은 직접 입력)
프로그램은 다음과 같다.
# n 리스 .
def get_divisor(n):
d = []
for i in range(1, n+1, 1):
if n % i == 0:
d.append(i)
return d
# 완전, , 판단.
def determine(d):
# d = get_divisor(n)
# 완전 = , 수의 2 경우 = 모든 진약
더했 , 경우
sum = 0
for i in d:
sum += i
# print(f"sum={sum}, d[-1]={d[-1]}")
if sum == d[-1]*2:
return ""
elif sum < d[-1]*2:
return ""
else:
return ""
# max 완전, , 개수 계산
def count(max):
perfect = 0
deficient = 0
abundant = 0
for i in range(1, max+1, 1):
5
det = determine(i)
if det == "":
perfect += 1
elif det == "":
deficient += 1
else:
abundant += 1
print(f"={i}, ={perfect}({perfect*100/i}%),
부족={deficient}({deficient*100/i}%),
과잉={abundant}({abundant*100/i}%)")
# 주어 n 합을 구한. CSV
def sum_of_inv(n):
d = get_divisor(n)
det = determine(d)
sum = 0
for i in d:
sum += 1.0/float(i)
print(f"{n}, {det}, {sum}")
if __name__ == '__main__':
# print(get_divisor(16))
# print(determine(get_divisor(6)))
# count(100000)
# 10 구함(N=100000)
for i in range(1, 100000+1):
sum_of_inv(i)
이렇게 10만 까지의 모든 자연수의 부족수, 완전수, 과잉수 여부와 각각의 약수의 역수의 합을
구하였다.
6
4. 그래프적 해석
이제 프로그램에서 얻은 (a,b,c)꼴의 자료를 전부다 Excel로 보냈다. 그렇게 표를 만들고 표를
그래프로 바꾸었다. 그랬을 때의 결과가 아래와 같다.
과잉 역수 10 4 , 약수 합은
1이상 2 값을 .
여기 의문 합은 모두 4미만?.
7
5. 과잉수의 역수의 합은 수렴하나?
10만까 역수 4 프로 . 그렇 과잉
대해 4? , 4 발산
것이.
반례 수를 .
N! = 1*2*3* (N-1)*N
일때 수의 보다
것이. (
약수
,
1 +
1
2
+
1
3
... +
1
𝑁
약수 있으)
이것 아래 "" . 과잉 N!
약수 합은 .
8
실제로 Python 프로그램으로 돌려서 확인해 보았다.
8! 약수의 역수의 = 3.946428571428571
9! 약수의 역수의 = 4.081349206349208 (4를 초과함!!)
10! 약수의 역수의 = 4.225663580246912
11! 약수의 역수의 = 4.6098148148148095
12! 약수의 역수의 = 4.629298540965204 (오래 걸림)
13! 약수의 역수의 = (너무 오래 걸림!!!)
10만까지의 약수의 역수의 합이 컴퓨터 계산결과 4보다 작다고 해서, 모든 수에 대해 만족하지
않다는 것을 수학적으로 증명했고, 이를 바탕으로 다시 범위를 넓혀 계산하니 실제로 발산함을
알아냈다.
10만까지의 수에서 팩토리얼 수는 8! = 40320 최대였으며, 이것을 기준으로 4를 넘지 않는다고
가정하는 섣부른 판단이다.
9

댓글