Трудно написать формулу для этой задачи, которая будет работать на всех компьютерных языках, так как языки отличаются в том, как они обрабатывают целочисленное деление. Некоторые языки имеют оператор по модулю, а некоторые нет. Но вот подсказка, чтобы начать.
Вы определенно хотите, чтобы первое число было больше или равно A
, которое делится на C
. Я предполагаю, что A
, B
и C
являются положительными целыми числами - если это не так, все усложняется и больше зависит от языка компьютера. Тогда формула будет
firstdivisible = ceil(A / C) * C
, где ceil
- функция «потолка» - округление до до целого числа. У большинства языков есть эта функция. Обратите внимание, что вам нужно будет проверить, больше ли это число, чем B
.
Вы также хотите, чтобы последнее число в вашем диапазоне делилось на C
, то есть
lastdivisible = floor(B / C) * C
где floor
округляет вниз до целого числа. Некоторые языки используют int
вместо floor
. Опять же, вам нужно проверить, если это число меньше A
. В некоторых языках есть оператор по модулю %
- если это так, вы также можете использовать
lastdivisible = B - (B % C)
Учитывая эти ограничения и интервал C
, вы сможете создать массив со всеми желаемыми числами.