Open1

友愛数

mmmmmm

!友愛数(ゆうあいすう、英: amicable numbers)とは、異なる 2 つの自然数の組で、自分自身を除い
!た
!約数の和が互いに他方と等しくなるような数をいう。親和数(しんわすう)とも呼ばれる。
!
!最小の友愛数の組は (220, 284) である。
!
!220 の自分自身を除いた約数は、1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 で、和は 284 となる。一方、
!284
!の自分自身を除いた約数は、1, 2, 4, 71, 142 で、和は 220 である。
!友愛数はピタゴラス学派の時代にはすでに知られていた(ダンブリクス Damblichus)。現在まで知られる
!友愛数の組は、すべて偶数同士または奇数同士の組である。
!
!(220, 284) の次に求められた友愛数は (17296, 18416) である。この友愛数はそれ以前にも求められてい
!た
!が、フェルマーにより再発見された。その後、オイラーにより 60 余りの友愛数が求められている。
!
!なお、自分自身を除いた約数の和が元の数と等しい場合には、完全数と呼ばれる。自分自身を除いた約数
!の
!和を次の数として同じように計算していき元の数に戻る場合には、その組を社交数という。
!
!定義
!異なる2つの自然数 n, m の組が友愛数であるとは
!
!σ1(n) = σ1(m) = n + m となることである。ここで、σ1(n) 、σ1(m) は約数関数である。
!
!友愛数の例
!友愛数の組を小さい順に列記すると
!
!(220, 284), (1184, 1210), (2620, 2924), (5020, 5564), (6232, 6368), (10744, 10856), (12285,
!14595), (17296, 18416), (63020, 76084), (66928, 66992), …(オンライン整数列大辞典の数列
!A063990)
!小さい方の数は オンライン整数列大辞典の数列 A002025、大きい方の数は オンライン整数列大辞典の数 !
!列
!A002046 を参照。
rem 十進basicを使っています。2進モードで実行すると早いです。
DIM a(1000000)
DIM b(1000000)
FOR n=2 TO 20000
FOR m=1 TO n-1
IF MOD(n,m)=0 THEN LET s=s+m
NEXT M
LET a(n)=s
LET s=0
NEXT N
REM---------------------------------------------------------
MAT b=a
FOR d=2 TO 20000
FOR e=2 TO 20000
IF d<>e AND a(d)=e AND b(e)=d THEN PRINT d;e;a(d);b(e)
NEXT E
NEXT D

END