Created
June 9, 2011 08:34
-
-
Save timurvafin/1016336 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# класс для работы с рядом | |
class Series | |
def initialize | |
@result = [[1]] # каждый элемент ряда - массив | |
end | |
# добавить в ряд элемент | |
def push( element ) | |
@result.push( element ) | |
end | |
# получить весь ряд | |
def get | |
@result.each { |element| puts element.join('') } | |
end | |
# получить следующий элемент в ряде | |
def addNext | |
seriesLastElement = @result[@result.size() - 1] # последний элемент ряда | |
seriesLastElementSize = seriesLastElement.size() # размер последнего элемента в ряде | |
tempAr = [] # временный массив | |
iter = 0 | |
prevElement = seriesLastElement[iter] # предыдйщий элемент массива | |
counter = 1 # счетчик кол-ва повторяющихся цифр | |
loop do | |
iter += 1 | |
if iter >= seriesLastElementSize # если конец массива | |
tempAr += [ counter, prevElement ] | |
break | |
else | |
nextElement = seriesLastElement[iter] # следующий элемент массива | |
if nextElement != prevElement | |
tempAr += [ counter, prevElement ] | |
counter = 1 | |
else | |
counter += 1 | |
end | |
end | |
prevElement = nextElement | |
end | |
push( tempAr) | |
end | |
end | |
seriesObj = Series.new() | |
iterCount = 6 # колиечсво элементов, которые должны получить в ряде | |
iterCount.times do | |
seriesObj.addNext | |
end | |
seriesObj.get |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment