擅长:python、mysql、java
<p>在Java中,<a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.2.3" rel="nofollow">^{<cd1>}</a>不能准确地表示2^1000。作为浮点数,<code>Math.pow(2,1000)</code>是<code>1.0715086071862673E301</code>。你知道吗</p>
<p>要获得所需的结果,请使用<a href="https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html" rel="nofollow">^{<cd4>}</a>,它保留2^1000的实际值。你知道吗</p>
<pre><code>public static BigInteger sumDigits(BigInteger n) {
BigInteger num = n;
BigInteger sum = BigInteger.ZERO;
BigInteger ten = BigInteger.valueOf(10);
while (num.compareTo(BigInteger.ZERO) > 0) {
sum = sum.add(num.mod(ten));
num = num.divide(ten);
}
return sum;
}
public static void main(String[] args) {
System.out.println(sumDigits(BigInteger.valueOf(2).pow(1000)));
}
</code></pre>
<p>以上代码的输出是<code>1366</code>。你知道吗</p>