親和數 T-SQL程式碼
阿新 • • 發佈:2020-02-26
親和數:彼此約數的和等於對方。聽說歐洲幾千年沒找出一對。
轉載請註明出處,聯絡我: [email protected]
本人熱衷於資料庫技術及演算法的研究,志同道合之士, 歡迎探討
DECLARE @n INT=5,@i INT=1,@End INT=0; WHILE @n<10000 BEGIN SELECT @End=@n/2; WHILE @i<=@End BEGIN IF @n%@i=0 BEGIN INSERT INTO Divisor(n,Divisor) VALUES (@n,@i); END SET @i=@i+1; END SET @n=@n+1; END --上面的過程對每個自然數暴力拆約數,下面的SQL查詢找出對應的親和數 SELECT * FROM ( SELECT * FROM ( SELECT N,sum(d.Divisor) D FROM Divisor d GROUP BY d.N ) t0 LEFT join (SELECT N N1,sum(d.Divisor) D1 FROM Divisor d GROUP BY d.N ) t1 ON t0.D=t1.N1) tt0 WHERE tt0.N=tt0.D1 AND tt0.N<>tt0.D;
找了這些親和數