#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"
豫公网安备41072702000346号