请问怎样用循环得到这样一窜整数1,2,5,10,20,50,100,200,500,1000,2000……谢谢了

解决方案 »

  1.   

    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
    ...
      

  2.   

    通过i值计算val值,可能要加一些临时变量
      

  3.   

    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;
      

  4.   

    meiqingsong(阿飛) ,我马上要上课了,我先理解下你的算法,中午就来结贴,谢谢了
      

  5.   

    meiqingsong(阿飛) ,哦!我太笨了
      

  6.   

    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;