De Bruijn sequences: Difference between revisions
Content added Content deleted
m (corrected a typo.) |
(→{{header|Wren}}: Now uses 'fmt' module.) |
||
Line 1,563: | Line 1,563: | ||
=={{header|Wren}}== |
=={{header|Wren}}== |
||
{{trans|Phix}} |
{{trans|Phix}} |
||
{{libheader|fmt}} |
|||
<lang ecmascript>var rzset = Fn.new { |m, n| |
|||
<lang ecmascript>import "/fmt" for Fmt |
|||
var s = "%(n)" |
|||
var c = s.count |
|||
return (m > c) ? "0" * (m - c) + s : s |
|||
} |
|||
var deBruijn = "" |
var deBruijn = "" |
||
for (n in 0..99) { |
for (n in 0..99) { |
||
var a = |
var a = Fmt.rpad(2, n, "0") |
||
var a1 = a[0].bytes[0] |
var a1 = a[0].bytes[0] |
||
var a2 = a[1].bytes[0] |
var a2 = a[1].bytes[0] |
||
Line 1,578: | Line 1,575: | ||
var m = n + 1 |
var m = n + 1 |
||
while (m <= 99) { |
while (m <= 99) { |
||
var ms = |
var ms = Fmt.rpad(2, m, "0") |
||
if (ms[1].bytes[0] > a1) deBruijn = deBruijn + a + ms |
if (ms[1].bytes[0] > a1) deBruijn = deBruijn + a + ms |
||
m = m + 1 |
m = m + 1 |
||
Line 1,612: | Line 1,609: | ||
k = found[i] |
k = found[i] |
||
if (k != 1) { |
if (k != 1) { |
||
var e = " Pin number %( |
var e = " Pin number %(Fmt.dz(4, i)) " |
||
e = e + ((k == 0) ? "missing" : "occurs %(k) times") |
e = e + ((k == 0) ? "missing" : "occurs %(k) times") |
||
res.add(e) |
res.add(e) |