FILIN
Искусственный Интеллект
(149000)
9 месяцев назад
В общем случае никто этого делать не умеет! Так что, не переживай! Но алгоритм поиска такой: 1) смотришь оба ли числа (числитель и знаменатель) четные и, если "да", то сокращаешь на 2; делаешь это до тех пор, пока не получишь либо оба числа разной четности, либо оба нечетные; если при этом всё ещё неясно, можно ли сократить дальше, то переходишь к пункту 2;
2) смотришь, можно ли сократить на 3, и если да, то сокращаешь и так до тех пор, пока уже сократить на 3 невозможно; переходишь у пункту 3;
3) смотришь, можно ли сократить на 5, на 7, на 11, на 13, на 17 и так далее...
Ну, разумеется, пункты можно менять местами, если есть какие-то дополнительные соображения. Например, сразу видно, возможно ли сокращение на 5 и т. п.
Другого пути (в общем случае) нет!
Как видишь, речь идет о разложении на множители. А это бывает невероятно трудно сделать даже для конкретных чисел. Великий Эйлер в свое время смог разложить на множители число 2^32 + 1. Тем самым было доказано, что числа Ферма вида 2^(2^n) + 1 не всегда дают в ответе простое число.