将x存到数组中,然后,用递归调用的形式从数组中取值计算,递归函数如下: /* 参数说明: x:存了x1、x2...xn的数组 index:当前要处理的x的索引 */ function fy(x: array of integer; index: integer); begin if index > Length(x) then begin /* 如果index超过x的长度,则计算f(x1,x2,x3,...,xn)的值 */ exit; end; /* 如果index没有超过x的长度,则计算index之前x的和,判断其是否在0到100之前,当条件成立,则调用fy函数,传入的index的参数数值加1 */ end;
/* 参数说明:
x:存了x1、x2...xn的数组
index:当前要处理的x的索引
*/
function fy(x: array of integer; index: integer);
begin
if index > Length(x) then begin
/* 如果index超过x的长度,则计算f(x1,x2,x3,...,xn)的值 */
exit;
end;
/* 如果index没有超过x的长度,则计算index之前x的和,判断其是否在0到100之前,当条件成立,则调用fy函数,传入的index的参数数值加1 */
end;
x2 从 0 到 100,步进 0.1 x3 从 0 到 100,步进 0.1 x4 从 0 到 100,步进 0.1 x5 从 0 到 100,步进 0.1即每个变量都是 从 0 到 100,步进 0.1
x1 0 0.1 0.2 0.3 ... 100
x2 0 0.1 0.2 0.3 ... 100
x3 0 0.1 0.2 0.3 ... 100
x4 0 0.1 0.2 0.3 ... 100
..........................
xn 0 0.1 0.2 0.3 ... 100这样遍历所有组合有:n个1000相乘的组合方式但是就是不知道怎么遍历