Ruth-Aaron numbers: Difference between revisions

→‎{{header|Wren}}: Cut out duplicated calculations.
(Added Wren)
(→‎{{header|Wren}}: Cut out duplicated calculations.)
Line 123:
{{libheader|Wren-seq}}
{{libheader|Wren-fmt}}
Have only looked for the first Ruth-Aaron triple based on factors (around 62.2 seconds overall) as, judging by the Raku experience, looking for the first triple based on divisors is going to be very slow indeed using Wren.
<lang ecmascript>import "./math" for Int, Nums
import "./seq" for Lst
Line 131:
var resD = []
var resT = [] // factors only
var n = 12
var factors1 = []
var factors2 = [2]
var factors3 = [3]
var sum1 = 0
var sum2 = 2
var sum3 = 3
var countF = 0
var countD = 0
var countT = 0
while (countF < 30 || countD < 30 || countT < 1) {
var factors1 = Int.primeFactors(n)factors2
var factors2 = Int.primeFactors(n+1)factors3
var factors3 = Int.primeFactors(n+2)
var sum1 = Nums.sum(factors1)sum2
var sum2 = Nums.sum(factors2)sum3
var sum3 = Nums.sum(factors3)
if (countF < 30 && sum1 == sum2) {
resF.add(n)
Line 151 ⟶ 157:
}
if (countD < 30) {
Lst.prune(var factors4 = factors1).toList
Lst.prune(var factors5 = factors2).toList
Lst.prune(factors4)
if (Nums.sum(factors1) == Nums.sum(factors2)) {
Lst.prune(factors5)
if (Nums.sum(factors1factors4) == Nums.sum(factors2factors5)) {
resD.add(n)
countD = countD + 1
9,476

edits