各位高手.有个排序组合类的题目,现在碰到些问题,需要大家的帮助,非常恳切....请帮助,请先看下面的排序.
     0-9的原始排序:0 1 2 3 4 5 6 7 8 9
     现在取得某选三的组合三个位置的排序:
          百位排序:   2 5 1 0 7 9 8 4 3 6
          十位排序:   9 3 4 1 6 7 2 5 8 0
          个位排序:   5 1 2 6 7 3 4 9 0 8
这里引入一个概念,就是计算位置排序与原始排序的偏离量.
          意思如下.比如百位
原始排序  0 1 2 3 4 5 6 7 8 9
百位排序  2 5 1 0 7 9 8 4 3 6
偏离量    2 4 1 3 3 4 2 3 5 3
即百位排序的号码对应-原始排序对位号的绝对值.
现在我们计算得到三个位置的对应偏量.
          2 5 1 0 7 9 8 4 3 6
百:       2 4 1 3 3 4 2 3 5 3          9 3 4 1 6 7 2 5 8 0
十:       9 2 2 2 2 2 4 2 0  9          5 1 2 6 7 3 4 9 0 8
个:       5 0 0 3 3 2 2 2 8 1
现在有个8 6 2的组合.
我们先找到8 6 2这个组合的对应偏量
         8对应2,
         6对应2,
         2对应0,
        偏量和值:2 + 2 + 0= 4
那么就要对应找到百、十、个三个位置对应的偏量的和值为4的。
        举例。百位找到了2,对应的偏量为2。十位找到了8,对应的偏量为0,个位找到了9对应的偏量为2。那么和值为2 + 0 + 2=4,那么对应输出2 8 9。同理:
可以找到2 4 2,8 4 2.....等等。也就是穷举所有对应偏量总和为4的对应组合。
现在我写了段代码,大家能帮忙看看,我的问题出在什么地方?
  For n=1 to 10
  For s=1 to 10
  For t=11 to 20
   For r=21 to 30
    dim a(n) as double
   a(n)=n-1
   dim b(n),c(n),d(n) as double
   dim j(n),k(n),l(n)as double
  
   b(n)=val(text(s).text):c(n)=val(text(t).text):d(n)=val(text(r).text)
   j(n)=abs(b(n)-a(n)):k(n)=abs(c(n)-a(n)):l(n)=abs(d(n)-a(n))
  
   if j()+k()+l()=text31.text then print b(n) c(n) d(n)
      next j()
      next k()
      next l()
      end if
 end sub
请大家看看,我这么写穷举部分以及输出部分存在什么样的错误。
如果问题得到解决后,我将及时结帖给大家以分数。请各位高手不吝指教。