Ruby :: Aufgabe #2 :: Lösung #1
2 Lösungen

#2
Zahlenfolge berechnen und fortsetzen
Anfänger - Ruby
von pocki
- 24.11.2012 um 19:50 Uhr
Es soll eine Zahlenfolge wiefolgt berechnet werden:
Die nacheinander folgenden gleichen Zahlen werden gezählt und zusammen mit der Zahl ausgegeben.
Aus der neu berechneten Zahlenfolge errechnet sich die nächste.
Beispiel:
1. Folge: 112
2. Folge: 2112 (2 Einser und 1 Zweier)
3. Folge: 122112 (1 Zweier, 2 Einser, und 1 Zweier)
usw.
Es soll nun mit dieser ersten Folge startend die 15. Folge berechnet und ausgegeben werden.
Wenn mehrstellige Zahlen vorkommen sind diese gleich auszugeben. Bsp: 12 Einser = 121
Die nacheinander folgenden gleichen Zahlen werden gezählt und zusammen mit der Zahl ausgegeben.
Aus der neu berechneten Zahlenfolge errechnet sich die nächste.
Beispiel:
1. Folge: 112
2. Folge: 2112 (2 Einser und 1 Zweier)
3. Folge: 122112 (1 Zweier, 2 Einser, und 1 Zweier)
usw.
Es soll nun mit dieser ersten Folge startend die 15. Folge berechnet und ausgegeben werden.
Wenn mehrstellige Zahlen vorkommen sind diese gleich auszugeben. Bsp: 12 Einser = 121
#1

von pianoplayer (1330 Punkte)
- 29.11.2013 um 21:36 Uhr

def change(str) newstr = "" vergleich = str[0] count = 0 pos = 0 while pos < (str.size ) do if vergleich == str[pos] then count +=1 else newstr = newstr + count.to_s + vergleich count = 1 vergleich = str[pos] end pos +=1 end newstr = newstr + count.to_s + vergleich return newstr end str = "112" print "1. Folge: ", str, "\n" for i in 2..20 do str = change(str) print i, ". Folge: ", str, "\n" end
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1