Я пытаюсь решить Проект Эйлера # 16:Как найти сумму отдельных цифр номера?
2^15 = 32768, а сумма его цифр 3 + 2 + 7 + 6 + 8 = 26.
Что такое сумма цифр числа 2^1000?
вопрос выглядит простой, но вместо того, чтобы использовать модуль 10 я пытался решить вопрос, как это:
public class Main {
public static void main(String[] args) {
long number = (long) Math.pow(2,100);
long sum=0;
String number2 = String.valueOf(number);
char[] digits = number2.toCharArray();
for (char digit : digits) {
sum = sum + digit;
}
System.out.println(sum);
}
}
Однако это дает неправильный ответ, я не могу видеть мою ошибку, не так ли можно решить этот вопрос таким образом?
2^100 не вписывается в длинные, вам нужно посмотреть в типы BigInt –
Но я не могу наложить 'Math.pow (2,100)' на BigInteger? –
Да, вы не можете, но pow - это просто умножение после всех –