Zeichnen Sie ein Programm oder eine Funktion, die STDOUT
n
(jeweils für einen Schritt) eine Zeichenfolge mit einem Punkt .
an der Position des Gehers in die Zeiten schreibt . Das Programm muss außerdem alle s
Sekunden eine Zeile schreiben (oder s
Sekunden nach jeder Zeile warten ).
Ein Zufallsrundgang ist eine mathematische Formalisierung eines Pfades, der aus einer Folge von Zufallsschritten ( Wiki ) besteht, sodass jeder neue Schritt der letzte Schritt plus ein neuer Wert ist. Jeder t
Schrittwert ist also nur die Summe aller Zufallswerte vor ir plus dem Anfangswert.
Das Programm sollte 2 Eingaben annehmen und verwendet nur Leerzeichen " "
und Punkte "."
auf der Ausgabe. Der Startwert des Walkers ist 20
so, dass die Ausgabe nach 19 Stellen ein Punkt sein sollte.
. #19 spaces then a dot
Bei jedem neuen Schritt ist der Wert der letzte Wert des Läufers plus einer davon [-2-1,0,1,2]
(jeweils 20% Chance). Nachdem die neue Position gedruckt wurde, sollte das Programm s
Sekunden warten und mit dem nächsten Schritt fortfahren. Wenn der Schritt den Geher außerhalb der Reichweite bringt 1 to 40
, sollte er einfach ignoriert werden und die Geherposition bleibt gleich. Die Anzahl der Leerzeichen ist immer eine Zahl von 0 bis 39.
Beispiel
#input
Mywalk(s = 0.1, n = 30)
#output
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Überlegungen
Sie können die Eingabe als ein beliebiges vernünftiges Format annehmen
Der kürzeste Code gewinnt
Es ist in Ordnung, wenn Ihr Programm nur die Sekunden als Ganzzahlen akzeptiert
1 to 40
, weil die Anzahl der Leerzeichen immer ist position-1
.
n
ist die Anzahl der Schritte?