Я работаю над простой факторизацией больших чисел (в основном, project 3 @ project Euler . Мне нужно использовать модуль для чисел, объявленных как long long. Каждый раз, когда я пытаюсь смоделировать это гигантское число, которое я получаюИсключение с плавающей запятой. Любая помощь будет высоко оценена. Спасибо.
Я выполнил это через gdb и посмотрю, что происходит. Ниже приведен мой код. На данный момент это очень грубая логика. Пожалуйста, не делайте этогодайте мне ответ на вопрос . Я с радостью приму помощь в улучшении этого, просто, пожалуйста, не дайте мне прямой ответ. Спасибо:)
long factor(long number) {
string br = "\n\r";
long x = 0;
/*this modulus variable is an attempt
to move the answer into a long long container
to see if that solves my floating point exception,
it didn't*/
long long modulus;
while(x <= number) {
modulus = number % x;
if(modulus == 0) {
cout << number/x << br;
return factor(number/x);
}//if number % x
else {
return x;
}//else
x++;
}//while
}//factor