排列组合求和,并寻址

现有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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日
下一篇 2020年10月30日

相关推荐