现有30组数据,需要排列组合式求任意5个数值之和,并得出最接近我需要数值的5个组合数值和的编号,请问有什么方法可以实现
最佳答案
用5个for循环嵌套
data_deta=无穷大
data_index(1)=0
data_index(2)=0
data_index(3)=0
data_index(4)=0
data_index(5)=0
for i=1 to 26
for j=i+1 to 27
for k=j+1 to 28
for l=k+1 to 29
for m=l+1 to 30
mydata=data[i]+data[j]+data[k]+data[l]+data[m]
if abs(mydata-data_sp)<data_deta
data_index[1]=i
data_index[2]=j
data_index[3]=k
data_index[4]=l
data_index[5]=m
end if
next
next
next
next
next
最后data_index数组中保存的就是这5个数据的序号.自己把我的逻辑写成200的代码.我没有200的环境.
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc280116.html