分治思想--小测试(归并排序前序)

 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 }

 

posted @ 2015-05-05 17:06  Object_mo  阅读(192)  评论(0编辑  收藏  举报
mozhuhao