De Bruijn sequences: Difference between revisions

m
→‎{{header|Wren}}: Change in method name.
(→‎{{header|Wren}}: Now uses 'fmt' module.)
m (→‎{{header|Wren}}: Change in method name.)
Line 1,568:
var deBruijn = ""
for (n in 0..99) {
var a = Fmt.rpadrjust(2, n, "0")
var a1 = a[0].bytes[0]
var a2 = a[1].bytes[0]
Line 1,575:
var m = n + 1
while (m <= 99) {
var ms = Fmt.rpadrjust(2, m, "0")
if (ms[1].bytes[0] > a1) deBruijn = deBruijn + a + ms
m = m + 1
Line 1,581:
}
}
 
deBruijn = deBruijn + "000"
System.print("de Bruijn sequence length: %(deBruijn.count)\n")
System.print("First 130 characters:\n%(deBruijn[0...130])\n")
System.print("Last 130 characters:\n%(deBruijn[-130..-1])\n")
 
var allDigits = Fn.new { |s|
for (b in s) {
Line 1,594:
return true
}
 
var check = Fn.new { |text|
var res = []
Line 1,626:
System.print("Missing 4 digit PINs in this sequence: %(check.call(deBruijn))")
System.print("Missing 4 digit PINs in the reversed sequence: %(check.call(deBruijn[-1..0]))")
 
System.print("\n4,444th digit in the sequence: '%(deBruijn[4443])' (setting it to '.')")
deBruijn = deBruijn[0..4442] + "." + deBruijn[4444..-1]
9,482

edits