我有一个大脑放屁,无法想到用2元素的幂来计算数组总和的算法。
这绝对是错的,但我无法看清楚。
public static void main(String[] args) {
ArrayList<Integer> intArray = new ArrayList<Integer>();
intArray.add(1);
intArray.add(2);
intArray.add(3);
intArray.add(4);
intArray.add(5);
intArray.add(6);
intArray.add(7);
intArray.add(8);
intArray.add(9);
intArray.add(10);
int total = 0;
for (int x = 0; x < intArray.size(); x += 2*(int)Math.pow(2, x)) {
total = total + intArray.get(x);
}
System.out.println(total);
}
答案 0 :(得分:4)
这个工作:
import java.util.ArrayList;
public class Pow2IndexSum {
public static void main(String[] args) {
ArrayList<Integer> intArray = new ArrayList<Integer>();
intArray.add(1);
intArray.add(2);
intArray.add(3);
intArray.add(4);
intArray.add(5);
intArray.add(6);
intArray.add(7);
intArray.add(8);
intArray.add(9);
intArray.add(10);
int total = 0;
for (int x = 1; x < intArray.size(); x *= 2) {
total += intArray.get(x);
}
System.out.println(total);
}
}