Здравствуйте,с праздником вас)
суть задачи такова
надо определить количество целочисленных решений (x,y) уравнения ; |a|,|b| <=
| № | Пользователь | Рейтинг |
|---|---|---|
| 1 | Benq | 3676 |
| 2 | jiangly | 3670 |
| 3 | Kevin114514 | 3657 |
| 4 | maroonrk | 3355 |
| 5 | Um_nik | 3353 |
| 6 | squareOf105 | 3346 |
| 7 | tourist | 3343 |
| 8 | strapple | 3324 |
| 9 | heuristica | 3322 |
| 10 | jiangbowen | 3291 |
| Страны | Города | Организации | Всё → |
| № | Пользователь | Вклад |
|---|---|---|
| 1 | Qingyu | 158 |
| 2 | nik_exists | 150 |
| 2 | maspy | 150 |
| 4 | AmShZ | 143 |
| 4 | Um_nik | 143 |
| 6 | Errichto | 139 |
| 7 | adamant | 137 |
| 8 | BledDest | 134 |
| 9 | maroonrk | 133 |
| 10 | qwexd | 130 |
Здравствуйте,с праздником вас)
суть задачи такова
надо определить количество целочисленных решений (x,y) уравнения ; |a|,|b| <=
| Название |
|---|



если а и b = 0 то ответ 0. если а или b = 0 то решение бесконечно (X, b) или (a, Y).
y = (b*x)/(x-a) пусть НОД (x,x-a) = p ==> x делится на p и a делится на p. Переберём p (делитель а). (сократили на p). b*z/(z — c). НОД(z,z-c) = 1. ==> b делится на z-c. Переберём делитель. Проверим, что НОД(z,z-c) = 1.
Сложность что-то порядка числа делителей a * число делителей b, должно успевать по времени.
Если a = 0 и b = 0, то ответ 0. Если a = 0 или b = 0, то ответ 1.
Значит, достаточно найти количество пар X, Y таких, что XY = ab. Тогда ответ будет 2σ(|ab|) - 1, где σ(x) — количество делителей x, -1 так как пара x = 0, y = 0 не подходит.
I found this:
a.y + b.x = x.y
b.x = y.(x-a)
y=(b.x) / (x-a);
x,y are integers so (a|b means b%a=0)
x-a| b.x
x-a| b.x — b.(x-a)
x-a| b.x — b.x + a.b
x-a| a.b
for every z (z|a.b) there is an integer pair (x,y) suitable to all conditions. So the answer is same with quantity of divisors of a.b