Я пытаюсь разместить большое число в переменной C++. Номер 600851475143Большое число в C++
Я пробовал беззнаковый длинный длинный int, но получил ошибку, говоря, что константа была слишком большой. Затем я попробовал библиотеку BigInt под названием BigInt ->http://mattmccutchen.net/bigint/
Проблема в том, что я не могу скомпилировать код, так как я получаю много ошибок относительно lib.
Неопределенная ссылка на `BigInteger :: BigInteger (int) '< - много из них.
Вот мой код до сих пор:
#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
Project Euler # 3 ... это сложная проблема ... У меня была такая же проблема. Я также посмотрел на BigInt lib, но я заметил, что они не реализовали операторы постфикса правильно ... поэтому я решил, что в их коде будут скрываться другие проблемы. – paxos1977 2008-10-27 16:27:09