Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
55
Task/Prime-triangle/Wren/prime-triangle.wren
Normal file
55
Task/Prime-triangle/Wren/prime-triangle.wren
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
import "./fmt" for Fmt
|
||||
|
||||
var canFollow = []
|
||||
var arrang = []
|
||||
var bFirst = true
|
||||
|
||||
var pmap = {}
|
||||
for (i in [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]) {
|
||||
pmap[i] = true
|
||||
}
|
||||
|
||||
var ptrs
|
||||
ptrs = Fn.new { |res, n, done|
|
||||
var ad = arrang[done-1]
|
||||
if (n - done <= 1) {
|
||||
if (canFollow[ad-1][n-1]) {
|
||||
if (bFirst) {
|
||||
Fmt.print("$2d", arrang)
|
||||
bFirst = false
|
||||
}
|
||||
res = res + 1
|
||||
}
|
||||
} else {
|
||||
done = done + 1
|
||||
var i = done - 1
|
||||
while (i <= n-2) {
|
||||
var ai = arrang[i]
|
||||
if (canFollow[ad-1][ai-1]) {
|
||||
arrang.swap(i, done-1)
|
||||
res = ptrs.call(res, n, done)
|
||||
arrang.swap(i, done-1)
|
||||
}
|
||||
i = i + 2
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
||||
var primeTriangle = Fn.new { |n|
|
||||
canFollow = List.filled(n, null)
|
||||
for (i in 0...n) {
|
||||
canFollow[i] = List.filled(n, false)
|
||||
for (j in 0...n) canFollow[i][j] = pmap.containsKey(i+j+2)
|
||||
}
|
||||
bFirst = true
|
||||
arrang = (1..n).toList
|
||||
return ptrs.call(0, n, 1)
|
||||
}
|
||||
|
||||
var counts = []
|
||||
for (i in 2..20) {
|
||||
counts.add(primeTriangle.call(i))
|
||||
}
|
||||
System.print()
|
||||
System.print(counts.join(" "))
|
||||
Loading…
Add table
Add a link
Reference in a new issue