215 = 32768 并且其各位之和为 is 3 + 2 + 7 + 6 + 8 = 26.
21000 的各位数之和是多少?
import java.math.BigInteger;
public class Problem16
{
public static void main(String[] args)
{
long start = System.currentTimeMillis();
Print(); //自写加法解决 time: 9
// Sum(); //暴力解决 time: 6
long end = System.currentTimeMillis();
System.out.print("time: ");
System.out.println(end - start);
}
//写一个 加法,实现 乘 2;
//采用倒序(即123 放入数组为 321)
static void Print()
{
int array[] = new int [302];
array[0] = 2;
int n = 1;
// 2^1000
for (int j = 1; j < 1000; j++)
{
int t = 0;
for (int i = 0; i < n; i++)
{
t = array[i] * 2 + t;
array[i] = t % 10;
t = t / 10;
}
//将剩下的 t放到数组
while (t != 0)
{
array[n] = t % 10;
t = t / 10;
n++;
}
}
//各个数相加
int s = 0;
for (int i = 0; i < n; i++)
{
s+=(array[i]);
}
System.out.println(s);
}
//java中有大数据的类,直接出答案
static void Sum()
{
BigInteger a = BigInteger.valueOf(2);
BigInteger b = a.pow(1000);
String str = b+"";
char ch[] = str.toCharArray();
int s = 0;
for (int i = 0; i < ch.length; i++)
{
s+= Integer.valueOf(ch[i]+"");
}
System.out.println(s);
}
}
answer : 1366