#Z02057. 分治求和

分治求和

题目描述

今天学一下分治的入门,给你一个长度为n的数组a,让你利用分治的思想去这个数组的和,当然肯定不是那么简单,拒绝想让你每次把左右分治的过程和结果打印出来,最后在输出数组的和,嘿嘿。

输入格式

先输入样例数T(1 每组样例第一行输入数组的大小n 第二行输入a数组的每个数x,(1 然后用分治的想法,每次计算左半段和右半段,最后打印计算结果。

输出格式

输出如样例所示 每次分治都要缩进7个空格。(每组之间都要有一行空行)

1
8
1 2 3 4 5 6 7 8
mid= 0 left[ 0: 0]=   1,right[ 1: 1]=   2 sum[ 0: 1]=   3
                     mid= 2 left[ 2: 2]=   3,right[ 3: 3]=   4 sum[ 2: 3]=   7
              mid= 1 left[ 0: 1]=   3,right[ 2: 3]=   7 sum[ 0: 3]=  10
                     mid= 4 left[ 4: 4]=   5,right[ 5: 5]=   6 sum[ 4: 5]=  11
                     mid= 6 left[ 6: 6]=   7,right[ 7: 7]=   8 sum[ 6: 7]=  15
              mid= 5 left[ 4: 5]=  11,right[ 6: 7]=  15 sum[ 4: 7]=  26
       mid= 3 left[ 0: 3]=  10,right[ 4: 7]=  26 sum[ 0: 7]=  36
36

提示

不用循环读入 printf("%smid=%2d left[%2d:%2d]=%4d,right[%2d:%2d]=%4d sum[%2d:%2d]=%4d\n"