Помогите пожалуйста решить задачу по теме "Арифметика остатков"
Задача:
Найдите все натуральные n такие, что при делении числа 2023 на n частное от деления и остаток будут совпадать.
Мои шаги к решению:
Я составила уравнение для лучшего понимания задачи, получила 2023 = n * x + x, написала программу для получения количества решений этого уравнения. Получила, что решений четыре, в ручную нашла 1 решение (n=2022, x=1), но не знаю, почему ответов всего 4 (не знаю как доказать) и не нашла остальные три решения уравнения.
Ответы (1 шт):
Как уже написали, 2023 = (n+1)x и 2023 = 7*17²
Из разложения следует, что делителями 2023 являются 1, 7, 17, 119, 289 и 2023.
Поскольку остаток не может быть больше делителя, n > x.
Решения, получаемые из делителей (значения n): 2022, 288 и 118.
Простейшая переборная программа имеет вид:
int main() {
for (int i = 1; i <= 2023; ++i) {
if (2023 / i == 2023 % i) cout << i << endl;
}
}