Я понимаю, что это старый вопрос, но я собираюсь дать свой собственный ответ вместе с объяснением того, как я туда попал. Во-первых, давайте назовем GCF n.
Первоначально я бы предложил сделать что-то вроде выбора случайных целых чисел и умножения их каждого на n, чтобы получить набор чисел, это, конечно, даст вам числа, равномерно делимые на n, но не обязательно числа с GCF, равным n. Если бы у всех целых чисел был GCF, отличный от '1', то у GCF полученного набора на самом деле был бы GCF в n раз больше этого числа, а не n. При этом умножение n на набор целых чисел представляется наилучшим способом обеспечения того, что каждое число в наборе, по крайней мере, делится на n
.
Один из вариантов - сделать одно из этих чисел 1, но это уменьшит случайность набора, так как n всегда будет в результирующем наборе.
Затем вы можете использовать некоторые простые числа и умножить их на n, но это также уменьшит случайность, так как будет меньше возможных чисел, и числа на самом деле не должны быть простыми, просто взаимно простыми (GCF = 1 для весь набор)
Вы также можете выбрать набор чисел, где каждая пара чисел была бы взаимно простой, но опять же, весь набор должен быть взаимно простым, а не попарно простым (что было бы довольно интенсивно по процессору для больших наборов) .
Так что, если вы собираетесь использовать довольно случайные числа, я бы начал с определения, сколько чисел вы хотите в наборе (будь то случайное или предопределенное число), а затем сгенерировав на единицу меньше этого числа полностью «случайно». Затем я бы вычислил общие простые факторы для этих чисел, а затем выбрал случайное число, которое не имеет ни одного из этих простых факторов. Одного лишь обеспечения того, что у него нет того же GCF, недостаточно, поскольку у GCF могут быть общие факторы для окончательного числа. Требуется только одно число в наборе, которое не имеет ни одного из тех же простых множителей, что и другие числа в наборе, чтобы сделать GCF этого набора '1'. Затем я взял бы этот набор чисел и умножил каждое на n, чтобы получить желаемый набор чисел.