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.
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.
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]
|