题目

给定含有n个正整数元素的数组a,将其分成连续的k(1<k≤n)段,有多种分法,每种分法中各段和均有最大值,找出这些最大值中最小的一个并输出。如n的值为5,k的值为3,数组元素a(1)到a(5)依次为“1,2,3,3,1”,其中分法{1,2}{3}{3,1}各段和的最大值为4,比其他分法的最大值小,4就是输出值。寻找最小值的部分代码如下: a(1)=1:a(2)=2:a(3)=3:a(4)=3:a(5)=1 n=5:k=3 L=3:R=10     ‘L值可以为数组元素最大值,R可以为数组所有元素和 Do While L+1<R     m=(L+R)\2     t=0:s=0     For i=1 To n         If t+a(i)>=m Then             s=s+1             t =a(i)         Else             t =t+a(i)         End If     Next i     If t>0 then s=s+1     If s<=k Then①  Else  ② Loop Label1.Caption=“最小值为”&Str(L) 要使程序实现上述算法思想,则代码中①②处应为(  ) A . ①R=m  ②L=m B . ①L=m  ②R=m C . ①R=m+1  ②L=m-1 D . ①L=m+1  ②R=m-1 答案:A
信息技术 试题推荐
最近更新