回复 132楼 laowan001
你理解的不错,在整个问题上是第二步。
第一步是制作偶数周期表(即参与运算的元素,两两相加的和值,相同的偶数只保留一个)。
当把偶数制作完成后,开始处理这238个偶数周期表,17个一组(实际上,除了第一次外循环外,都是18个一组,因为第二次外循环时,要把上一次的最后一个表连上,即从上一次外循环的最后一个表开始,加上本次的,共计18个偶数周期表),这步的处理是,比对周期表中与那五类值没有的数值,即找出来,例如偶数表2中有30,120,210,300,380;但是没有180这个值,在210周期内,应该能合成30,(60),90,120,(150),180,210;这五个值,小括号内的不能被合成,不在考虑之内。在5个可以被合成数中,90无解,180无解,这些值会存放到:无偶数表总表,中。当把本次的2至17个偶数表,排查完,就完成了本次整体循环。
如果,我想运行下一个外循环值(即第二组,偶数周期表17,到偶数周期表34),这时我需要把第一的表,手工改成它们(原来的第一次是偶数周期表2至 偶数周期表17),现在变成偶数周期表17,至偶数周期表34;接下来执行第三组,偶数周期表34,至偶数周期表51;.....,在这个上一组数据,到下一组数据中,我是手工改写的工作区,表名,及别名。
先生既然有了语句直接打开一个空闲工作区,那就不用考虑工作区号问题了;表别名也省略了,那么表别名也不用考虑了,只考虑如何把表名称改写成下一组表名即可。
因为第一次外循环,与后边的外循环不配套,所以可以从第二组(第二个外循环开始),第二组处理数据为表17到表34;第三组处理数据为:表34到表51;第四组处理数据为表51到表68;....,以此类推,第14组处理数据为:表221到表238.可以看出,每次实际上是处理18个表(总有一个表与上次交叉)。
我是手工改写14次,完成这项工作的,现在想两次完成这项工作,第一次处理第一组数据,表2到表17;第二步完成第二组数据到第14组数据(每组处理18个偶数周期表),问第二步如何用变量赋值,把表名改成当次处理的表名。