1 //1~10000000之间所有7的倍数和末尾含7的数一共有多少个呢
2 public class test {
3 public static void main(String[] args) {
4 int[] i={1,2,3,4,5,6,7,17};
5 div(i,0,i.length-1);
6 }
7
8 private static void div(int[] i,int start,int end){
9 if(start<end){
10 int mid = (start+end)/2;
11 div(i,start,mid);
12 div(i,mid+1,end);
13 isSeven(i,start,mid,end);
14 }
15 }
16
17 private static void isSeven(int[] i,int start,int mid,int end){
18 boolean flag_l = i[start]%7==0 || i[start]%10==7;
19 boolean flag_r = i[end]%7==0 || i[end]%10==7;
20 System.out.println("======================flag_l=="+flag_l+"============="+i[start]+"=====================flag_r=="+flag_r+"============="+i[end]);
21 }
22
23 /**
24 *
25 * ======================flag_l==false=============1=====================flag_r==false=============2
26 ======================flag_l==false=============3=====================flag_r==false=============4
27 ======================flag_l==false=============1=====================flag_r==false=============4
28 ======================flag_l==false=============5=====================flag_r==false=============6
29 ======================flag_l==true============= 7=====================flag_r==true=============17
30 ======================flag_l==false=============5=====================flag_r==true=============17
31 ======================flag_l==false=============1=====================flag_r==true=============17
32 * 36 *
37 * */
38 }