infinite, i++) {
value = ???
print(value)
}
Какую операцию вставить в ???, чтобы вывод был бесконечной последовательностью вида 0 1 2 1 0 1 2 1 0 1 2 1 0 итд
Последовательность вида 0 1 2 0 1 2 0 1 2, я получить смог простым модулем. Но это не совсем то
На хрена создавать дополнительную переменную value? У тебя в счётчике лежит значение.
Так выводить надо не сам счетчик. Это псевдокод. Можно указать просто print( f(i) ) Не суть важно)
Тебе нужно 0,1,2. В счётчике это и будет. Чё тебе ещё надо хороняка? 😂
Так цикл задан строго (for i=0, i <= infinite, i++) в этом суть. Сам счетчик от 0 до бесконечности шагает
А мой код посмотреть не судьба? Вложи внутрь цикл с декрементом счётчика. Это задание что-ли?
А, не разобрался, что это вложенный цикл. Думал, ты предлагаешь основной цикл поменять. Хм, сейчас гляну
Попробовал, работает. Но подсказали два других более элегантных решения: 1. через sin (я про него и правда забыл, у него как раз поведение нужное) и 2. засунуть в цикл const ms = [0,1,2,1,0]; print( ms[i % ms.length] )
Sin зачем? Что она делает? С константой странное решение. Я бы тогда rings buffer заюзал.
Синус как раз дает возрастающее\убывающеее поведение. Если в него передать округленный i, и взять абсолют, то как раз будет 0 1 2 1 0 ... А с константой - это как раз то самое кольцо вычетов, просто я не додумал, что для переменного поведения, надо брать индекс, а не просто mod 3
Осталось только найти практическое применение этому. ☺️
Ну мне и нужно было для решения мелкой задачки. ))
Иногда люди себе неправильно задачи ставят. ☺️
Обсуждают сегодня