Я пытаюсь поместить большое число в переменную C ++. Номер 600851475143
Я пробовал unsigned long long int, но получил ошибку, сказав, что константа слишком велика.
Затем я попробовал библиотеку bigInt под названием BigInt -> http://mattmccutchen.net/bigint/
Проблема в том, что я не могу скомпилировать код, так как получаю много ошибок относительно библиотеки.
неопределенная ссылка на BigInteger :: BigInteger (int) '<- их много. </p>
Вот мой код:
#include "string"
#include "iostream"
#include "bigint/NumberlikeArray.hh"
#include "bigint/BigUnsigned.hh"
#include "bigint/BigInteger.hh"
#include "bigint/BigIntegerAlgorithms.hh"
#include "bigint/BigUnsignedInABase.hh"
#include "bigint/BigIntegerUtils.hh"
using namespace std;
int main() {
//unsigned long int num = 13195;
//unsigned long long int num = 600851475143;
BigInteger num = 13195;
int divider = 2;
//num = 600851475143;
while (1) {
if ((num % divider) == 0) {
cout << divider << '\n';
num /= divider;
}
else
divider++;
if (num == 1)
break;
}
}
Если я введу меньшее число и не использую BigInt lib, эта программа будет работать нормально.
Любая помощь будет оценена: D