Duplicar posibles:
long long in C/C++constante entera es demasiado grande para el tipo "larga"
Escribir un programa simple para un problema de Euler proyecto. Se niega a compilar porque "la constante entera es demasiado grande para" largo "tipo", aunque debería estar dentro de los límites de tamaño de largo sin firmar. Usando el compilador dev-C++.
códigoen cuestión:
#include <iostream>
bool isprime (unsigned long long i)
{
if(i==1||i==0) return false;
if(i==2) return true;
for(unsigned long long k=2;k!=i-1;k++)
{
if(i%k==0) return false;
}
return true;
}
int main()
{
for(unsigned long long i=600851475143;i>=0;i--) //problematic line
{
if(isprime(i))
{
std::cout<<i;
std::cin.get();
return 0;
}
}
}
Posible duplicado de: http://stackoverflow.com/questions/1458923/long-long-in-cc –
Parece http://projecteuler.net/problem=3 :-) Encontré esta respuesta mientras trataba de resolver lo mismo :-) –