3 ms·
It would have to be ((i - 1) % N) + 1
by graywh 15y ago
It would have to be ((i - 1) % N) + 1
- scott_s 15y agoWhy? If all I want is a mapping from i to my index space, I don't see why we should have to shift i down one first. Note that we don't have to come up with the same mapping that the zero-based indexing would.
- axiak 15y agoBecause then you'd get to the next row before you've finished N elements.
- scott_s 15y agoYeah, I don't see what you're getting at. Where does "before" come in? We're assuming an arbitrary positive integer, not a sequence. And even if it was a sequence, I see no problems. Let's assume N == 5, then the mappings we get are: 1 -> 2 2 -> 3 3 -> 4 4 -> 5 5 -> 1 6 -> 2 7 -> 3 8 -> 4 9 -> 5 10 -> 1 ... This is a valid mapping from Z+ to our index space. Is your objection that 2 does not map to 2, 3 does not map to 3? That may be a useful property, but (i % N) + 1 is still a valid mapping without that property.