Sobes.tech
Intern — Middle

Infinite generator of cyclic residues

livecode

Task condition

Implement a generator function that takes an integer N and infinitely returns a sequence of remainders when divided by N: 0, 1, 2, ..., N-1, 0, 1, 2, ..., N-1, ...

Example 1: Input: gen = remainder_generator(3); [next(gen) for _ in range(5)] Output: [0, 1, 2, 0, 1]

Example 2: Input: gen = remainder_generator(2); [next(gen) for _ in range(4)] Output: [0, 1, 0, 1]