Estoy tratando de colocar un número grande en una variable C++. El número es 600851475143Número grande en C++
Intenté unsigned long long int pero recibí un error al decir que la constante era demasiado grande. Luego probé una biblioteca llamada Bigint Bigint ->http://mattmccutchen.net/bigint/
El problema es que no puedo compilar el código como consigo muchos errores en cuanto a la lib.
referencia indefinida a `BigInteger :: BigInteger (int) '< - muchos de estos.
Aquí está mi código hasta ahora:
#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;
}
}
Si pongo un número más pequeño y no uso el Bigint lib este programa funciona muy bien. Cualquier ayuda será apreciada: D
Proyecto Euler # 3 ... ese es un problema difícil ... tuve el mismo problema. También miré BigInt lib, pero me di cuenta de que no implementaban correctamente los operadores de postfix ... así que pensé que habría otros problemas al acecho en su código. – paxos1977