我试图解决项目欧拉#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完全是一个乘法 –