1 //What is the total number of 1~10000000 between 7 and the end containing 7?2 Public classTest {3 Public Static voidMain (string[] args) {4 int[] i={1,2,3,4,5,6,7,17};5Div (i,0,i.length-1);6 }7 8 Private Static voidDivint[] I,intStartintend) {9 if(start<end) {Ten intMid = (start+end)/2; One Div (i,start,mid); ADiv (i,mid+1, end); - Isseven (i,start,mid,end); - } the } - - Private Static voidIsseven (int[] I,intStartintMidintend) { - Booleanflag_l = I[start]%7==0 | | I[start]%10==7; + BooleanFlag_r = I[end]%7==0 | | I[end]%10==7; -System.out.println ("======================flag_l==" +flag_l+ "=============" +i[start]+ "=====================flag" _r== "+flag_r+" ============= "+i[end]); + } A at /** - * - * ======================flag_l==false=============1=====================flag_r==false=============2 - ======================flag_l==false=============3=====================flag_r==false=============4 - ======================flag_l==false=============1=====================flag_r==false=============4 - ======================flag_l==false=============5=====================flag_r==false=============6 in ======================flag_l==true============= 7=====================flag_r==true=============17 - ======================flag_l==false=============5=====================flag_r==true=============17 to ======================flag_l==false=============1=====================flag_r==true=============17 + * $ * Panax Notoginseng * */ -}
Divide and conquer thought--small test (on the eve of merging algorithm)