Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -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
|
||||
|
|
@ -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"
|
||||
Loading…
Add table
Add a link
Reference in a new issue