내가 쓴 것과 관련된 문제를 찾을 수 없습니다. 저는 Project Euler # 16에서 2^1000의 모든 숫자를 합산해야합니다. 내 프로그램은 작은 숫자와 함께 작동하지만 숫자가 약 18 자리 정도가되면 깨집니다. 어떤 도움이 필요합니까?답변에 알 수없는 요소가
public static double digit(double n){
return n % 10;
}
public static double sumofDigits(double n){
double sum = 0;
while(n > 1){
sum += digit(n);
n = Math.floor(n/10);
}
return sum;
}
public static void main(String[] args) {
double x = Math.pow(2,1000);
double y = 22222222222222222222d;
System.out.println(sumofDigits(x));
System.out.println(sumofDigits(y));
}
}
"깨지다"는 것은 무엇을 의미합니까? 오류가 있습니까? 이게 뭐야? – Ben