思路整理:本题思路简单,主要是控制数据类型越界。从数组每读取的一个数字是二进制字符串的最低位。原来的数字和需要乘以2。为了控制数据类型溢出,每次对5求模。
import java.util.ArrayList;
import java.util.List;
public class num_1 {
public static void main(String[] args) {
int []A = {0, 1, 1};
System.out.println(prefixesDivBy5(A));
}
public static List<Boolean> prefixesDivBy5(int[] A) {
int len = A.length;
long sum = 0;
List<Boolean>list = new ArrayList<>();
for(int i=0;i<len;i++) {
sum = sum*2+(long)Math.pow(2, 0)*A[i];
if(sum%5==0) {
list.add(true);
sum = sum%5;
}
else
list.add(false);
System.out.println(sum);
}
return list;
}
}