试试这个:
BigInteger big = BigInteger.valueOf(3).pow(1002)
Run Code Online (Sandbox Code Playgroud)
不可变的任意精度整数.所有操作都表现得好像BigIntegers用二进制补码表示法表示(如Java的原始整数类型).BigInteger为所有Java的原始整数运算符以及java.lang.Math中的所有相关方法提供类似物.此外,BigInteger还提供模块化算术,GCD计算,素性测试,素数生成,位操作以及一些其他杂项操作的操作.
你想在3 ^ 1002中添加数字之和.试试这个:
public static void main(String[] args) throws ParseException {
BigInteger big = BigInteger.valueOf(3).pow(1002);
String s = big.toString();
System.out.println("3^1002 :-" + big);
int sum = 0;
for (int i = 0; i < s.length(); i++) {
sum = sum + Integer.parseInt(String.valueOf(s.charAt(i)));
}
System.out.println("Sum of digits = "+sum);
}
Run Code Online (Sandbox Code Playgroud)
输出:
3^1002 :-11898637375327259732014097337769299293688798294769333508984283314041457376120344095867004824655472557675187999271853241203558591238905570206788084527321583066248582026784887234902132968060683571469513601058297562370160530340607849942554095557486780070414555603129323099649923489573350062357188314294245225987472417074007240612055747584770991072267007636764090438484359179546617239448259650885170465292981543834807042949776925329153470838724492488095529295189557924920125696980009
Sum of digits = 2214
Run Code Online (Sandbox Code Playgroud)