我想确定数组中的数字是否为50的因数

时间:2019-05-11 10:44:24

标签: delphi

我想看看数组中的数字是否是50的因数

我创建了一个整数数组,并尝试使用mod进行确定,但似乎无法正确完成

//Global
var
  Form1: TForm1;
  Num: array [1 .. 100] of integer;
  ask: integer;
  i, j, temp: integer;

procedure TForm1.btnDisplayCriteriaClick(Sender: TObject);
var
  temp, fac :integer;
begin
  fac:=num[ask];

  if rbgCriteria.ItemIndex=0 then
  begin
    for I := 1 to ask do
    begin

      if fac mod 50=0 then
      fac:=num[i];
      Inc(fac);
    end;
    redDisplay.Lines.Add(IntToStr(fac)+' is a factor of 50')
  end;
end;

我希望它可以显示number()是否为50的因数,但我得到了位置

1 个答案:

答案 0 :(得分:2)

根据编写代码的方式来判断返回位置的过程是正确的。这是因为fac存储您要使用的数组元素(数组为Num)的 position 。因此,您正在测试所使用的排名是否除以50,而不是实际数字。

 procedure TForm1.btnDisplayCriteriaClick(Sender: TObject);
 var
 i :integer;
 begin     
  if rbgCriteria.ItemIndex=0 then
   for I := 1 to ask do     
    if (num[i] mod 50) = 0 then
     redDisplay.Lines.Add(IntToStr(num[i])+' is a factor of 50')      
 end;