Во-первых, вы должны определить, что означает «равномерно». Если n = 12 и k = 3, то правильные значения (1, 5, 9) (начиная с 1) или, скажем, (1, 7, 12). Очевидно, что они будут иметь разные результаты.
В некотором смысле это похоже на проблему масштабирования / растяжения изображений и растеризации линий ( Алгоритм Ву обычно используется для сглаживания в современной графике, но Брезенхем все еще важен и более актуален для этого) и разрешимо с алгоритмом линии Брезенхема .
1 *
2 **
3 **
4 **
5 **
6*
1234567890
Примечание: На самом деле я не понял, правильные ли это значения. Это просто иллюстративно.
В этом примере вы создаете диагональную линию через прямоугольник 6х10. Другой способ взглянуть на этот алгоритм - сказать n = 10, k = 6, и каждый раз, когда строка увеличивается, у вас есть одно из ваших значений, так (1,2,4,6,8,10).
но все зависит от того, как вы определяете «равномерно».