如何查找数字的单独数字之和?

时间:2016-12-31 08:32:08

标签: java char sum int

我试图解决Project Euler#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);



    }


}

然而,它给出了错误的答案,我无法看到我的错误,是不是可以用这种方式解决这个问题?

1 个答案:

答案 0 :(得分:3)

long无法保留该号码。您必须使用可以的数据类型重写。

请参阅Large Numbers in Java了解指示。