О простом модуле и хорошая тема
/ * N-две простые множители х, у + по = п-иметь-AX 1. Ax + By = 1-н. Ax + By + 1 = п. У |. Ax + 1 . НОД (х, у) = 1 AX% Y, принять [1, у-1], будет [1, Y-1] различных значений , которые он должен иметь Y-1 Y |. 1 Ax + .. Ax + 1 <= (у-1) 1 = Х + XY -y + 1 <= п, так что должно быть A, B * / #include <бит / STDC ++ H>. что используя пространство имен STD; #define LL Long Long Л.Л. н-; LL простых чисел [ 100 ], м; INT основных () { CIN >> п; LL TMP = п, для (LL = I 2 , I * I <= п; I ++ ) IF (TMP% I == 0 ) { простые числа [ ++ , т] = я; в то время как (TMP% я == 0 ) TMP / = я; } Если (TMP> 1 ) простые числа [++ , т] = TMP; если (т <= 1 ) { пут ( " НЕТ " ); вернуться 0 ; } Ставит ( " ДА " ); ставит ( " 2 " ); LL а, б, х = простые числа [ 1 ], Y = простые числа [ 2 ]; для (а = 1 ; а <= у-1 ; A ++ ) { если ((а * х + 1 )% г == 0 ) { Ь = (n - 1 -a * х) / у; перерыв ; } } СоиЬ << а << " " << п / х << ' \ п ' ; соиЬ << б << " " << п / г << ' \ п ' ; }