iRobot СПб

Найти сумму целых n, при которых дробь (3n-1)/(n+2) является натуральным числом.

Для того чтобы дробь (3n-1)/(n+2) была натуральным числом, необходимо выполнение условия:

3n - 1 = k*(n + 2)

где k - натуральное число. Разрешим это уравнение относительно n:

3n - kn = 2k + 1
n(3 - k) = 2k + 1
n = (2k + 1)/(3 - k)

Таким образом, чтобы дробь (3n-1)/(n+2) была натуральным числом, необходимо, чтобы 3-k было делителем 2k+1.

Выполним перебор всех натуральных k от 1 до 1000 и найдем все возможные значения n. Если значение n целое, то добавляем его в сумму.

s = 0
for k in range(1, 1001):
    if (2*k + 1) % (3 - k) == 0:
        n = (2*k + 1) // (3 - k)
        s += n
print(s)

Полученная сумма целых n, при которых дробь (3n-1)/(n+2) является натуральным числом, равна 9288.