for i:= 1 to 100 begin val := ....; end不需存储,只要每次循环得到一个数就行了。i = 1 val = 1 i=2 val = 2 i=3 val =5 i =4 val=10 i=5 val=20 ...
通过i值计算val值,可能要加一些临时变量
var i: Integer; pos, n: Integer; num: array [0..255] of Integer; begin ZeroMemory(@num[0], 256 * 4); n := 0; for i := 1 to 9 do begin pos := i mod 3; if pos = 0 then begin pos := 5; n := (i div 3) - 1; end else n := (i div 3); num[i - 1] := pos * trunc(power(10, n)); //你要的整数序列 end; end;
meiqingsong(阿飛) ,我马上要上课了,我先理解下你的算法,中午就来结贴,谢谢了
meiqingsong(阿飛) ,哦!我太笨了
function GetValue(Index: Integer):Extended; var i,j: Integer; begin i := Index div 3; j := Index mod 3; case j of 0: result := 5 * (Power(10, i)); 1: result := 1 * (Power(10, i)); 2: result := 2 * (Power(10, i)) end; end;
begin
val := ....;
end不需存储,只要每次循环得到一个数就行了。i = 1 val = 1
i=2 val = 2
i=3 val =5
i =4 val=10
i=5 val=20
...
i: Integer;
pos, n: Integer;
num: array [0..255] of Integer;
begin
ZeroMemory(@num[0], 256 * 4);
n := 0;
for i := 1 to 9 do
begin
pos := i mod 3;
if pos = 0 then
begin
pos := 5;
n := (i div 3) - 1;
end
else
n := (i div 3);
num[i - 1] := pos * trunc(power(10, n)); //你要的整数序列
end;
end;
var
i,j: Integer;
begin
i := Index div 3;
j := Index mod 3;
case j of
0: result := 5 * (Power(10, i));
1: result := 1 * (Power(10, i));
2: result := 2 * (Power(10, i))
end;
end;