C#
#includeint main(){ int mul[400] = {0}; mul[0] = mul[1] = 1; for(int i =0;i < 1000; i++){ for(int j =1;j <= mul[0];j++){ mul[j] *= 2; } for(int j = 1;j <= mul[0]; j++){ if(mul[j] < 10) continue; mul[j+1] += mul[j] / 10; mul[j] %= 10; mul[0] += (mul[0] == j); } } printf("%dn",mul[0]);//存放位数 int ans = 0; for(int i = 1;i <= mul[0]; i++){ ans += mul[i]; } printf("%dn",ans);//各位数字之和 return 0; }
JAVA
package exercise;
import java.math.BigInteger;
public class _幂的数字和 {
public static void main(String[] args) {
BigInteger num = new BigInteger("2");
for(int i=1;i<1000;i++) {
num = num.multiply(new BigInteger("2"));
}
System.out.println(num);
int sum = 0;
String str = num+"";
String[] str1 = str.split("");
for(int i=0;i
结果:1366
num = 10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376



