30 lines
646 B
Text
30 lines
646 B
Text
class Automaton
|
|
{
|
|
static Int[] evolve (Int[] array)
|
|
{
|
|
return array.map |Int x, Int i -> Int|
|
|
{
|
|
if (i == 0)
|
|
return ( (x + array[1] == 2) ? 1 : 0)
|
|
else if (i == array.size-1)
|
|
return ( (x + array[-2] == 2) ? 1 : 0)
|
|
else if (x + array[i-1] + array[i+1] == 2)
|
|
return 1
|
|
else
|
|
return 0
|
|
}
|
|
}
|
|
|
|
public static Void main ()
|
|
{
|
|
Int[] array := [0,1,1,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,0,0]
|
|
echo (array.join(""))
|
|
Int[] newArray := evolve(array)
|
|
while (newArray != array)
|
|
{
|
|
echo (newArray.join(""))
|
|
array = newArray
|
|
newArray = evolve(array)
|
|
}
|
|
}
|
|
}
|