Это не может быть полный цикл, потому что начальное число 0 приводит к поведению с фиксированной запятой. Это дает все 6 строго положительных результатов.
Вот демонстрация в Ruby:
class Doh
attr_reader :seed
def initialize(seed)
@seed = seed
end
def next
@seed *= 5
@seed %= 7
end
end
rng = Doh.new(1)
puts Array.new(7) { rng.next }.join(', ') # produces 5, 4, 6, 2, 3, 1, 5
rng2 = Doh.new(0)
puts Array.new(7) { rng2.next }.join(', ') # produces 0, 0, 0, 0, 0, 0, 0