Aliquot sequence classifications: Difference between revisions

→‎{{header|Wren}}: Now uses Wren-seq module.
(→‎{{header|Wren}}: Stat -> Nums)
(→‎{{header|Wren}}: Now uses Wren-seq module.)
Line 3,675:
{{libheader|Wren-fmt}}
{{libheader|Wren-math}}
{{libheader|Wren-seq}}
<lang ecmascript>import "/fmt" for Conv, Fmt
import "/math" for Int, Nums
import "/seq" for Lst
class Classification {
Line 3,686 ⟶ 3,688:
aliquot { _aliquot }
}
 
var THRESHOLD = 2.pow(47)
var listIndexOf = Fn.new { |lst, search|
for (i in 0...lst.count) {
if (lst[i] == search) return i
}
return -1
}
var classifySequence = Fn.new { |k|
if (k <= 0) Fiber.abort("K must be positive")
Line 3,710 ⟶ 3,705:
(n >= 4 && last == k) ? "Sociable[%(n-1)]" :
(last == seq[n-2]) ? "Aspiring" :
(n > 3 && seq[1..n-3].contains(last)) ? "Cyclic[%(n-1-listIndexOfLst.callindexOf(seq, last))]" :
(n == 16 || last > THRESHOLD) ? "Non-terminating" : ""
if (aliquot != "") return Classification.new(seq, aliquot)
9,488

edits