Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,69 @@
on aliquotSum(n)
if (n < 2) then return 0
set sum to 1
set sqrt to n ^ 0.5
set limit to sqrt div 1
if (limit = sqrt) then
set sum to sum + limit
set limit to limit - 1
end if
repeat with i from 2 to limit
if (n mod i is 0) then set sum to sum + i + n div i
end repeat
return sum
end aliquotSum
on aliquotSequence(k, maxLength, maxN)
-- Generate the sequence within the specified limitations.
set sequence to {k}
set n to k
repeat (maxLength - 1) times
set n to aliquotSum(n)
set repetition to (sequence contains n)
if (repetition) then exit repeat
set end of sequence to n
if ((n = 0) or (n > maxN)) then exit repeat
end repeat
-- Analyse it.
set sequenceLength to (count sequence)
if (sequenceLength is 1) then
set classification to "perfect"
else if (n is 0) then
set classification to "terminating"
else if (n = k) then
if (sequenceLength is 2) then
set classification to "amicable"
else
set classification to "sociable"
end if
else if (repetition) then
if (sequence ends with n) then
set classification to "aspiring"
else
set classification to "cyclic"
end if
else
set classification to "non-terminating"
end if
return {sequence:sequence, classification:classification}
end aliquotSequence
-- Task code:
local output, maxLength, maxN, spacing, astid, k
set output to {""}
set {maxLength, maxN} to {16, 2 ^ 47}
set spacing to " "
set astid to AppleScript's text item delimiters
set AppleScript's text item delimiters to ", "
repeat with k in {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ¬
11, 12, 28, 496, 220, 1184, 12496, 1264460, 790, 909, 562, 1064, 1488, 1.535571778608E+13}
set thisResult to aliquotSequence(k's contents, maxLength, maxN)
set end of output to text -18 thru -1 of (spacing & k) & ": " & ¬
text 1 thru 17 of (thisResult's classification & spacing) & thisResult's sequence
end repeat
set AppleScript's text item delimiters to linefeed
set output to output as text
set AppleScript's text item delimiters to astid
return output

View file

@ -0,0 +1,25 @@
"
1: terminating 1, 0
2: terminating 2, 1, 0
3: terminating 3, 1, 0
4: terminating 4, 3, 1, 0
5: terminating 5, 1, 0
6: perfect 6
7: terminating 7, 1, 0
8: terminating 8, 7, 1, 0
9: terminating 9, 4, 3, 1, 0
10: terminating 10, 8, 7, 1, 0
11: terminating 11, 1, 0
12: terminating 12, 16, 15, 9, 4, 3, 1, 0
28: perfect 28
496: perfect 496
220: amicable 220, 284
1184: amicable 1184, 1210
12496: sociable 12496, 14288, 15472, 14536, 14264
1264460: sociable 1264460, 1547860, 1727636, 1305184
790: aspiring 790, 650, 652, 496
909: aspiring 909, 417, 143, 25, 6
562: cyclic 562, 284, 220
1064: cyclic 1064, 1336, 1184, 1210
1488: non-terminating 1488, 2480, 3472, 4464, 8432, 9424, 10416, 21328, 22320, 55056, 95728, 96720, 236592, 459792, 881392, 882384
1.535571778608E+13: non-terminating 1.535571778608E+13, 4.453466360112E+13, 1.449400874645E+14"