У меня есть простой алгоритм факторизации.
void primeFactor(int number){
if (number == 1)return;
int x = 2;
while (number%x != 0)x++;
cout << x << endl;
primeFactor(number / x);
}
Он отлично работает для небольших чисел, но когда я когда-либо ввожу большое число, например 809800987876, я получаю -1 примерно после 3 множителей.
Итак, вот пример вывода для 809800987876.
> 2 2 486957767
> -1
Как я могу это исправить?