我刚刚开始编程,标题中给了我们作业。我不知道如何以可汇总的形式获取这些数字,所以我认为我至少会把它们写出来,但是由于某种原因我看不到,所以它不起作用。有什么建议吗?
var
a,i: integer;
del: array [1..32767] of boolean;
begin
i:=1;
readln(a);
for i:=1 to 32767 do del[i]:=false;
while i<>a do
begin
for i:=1 to 32767 do
begin
if (a MOD i =0) then del[i]:=true;
end
end;
if del[i] then writeln(i,' je delitelem ',a);
end.
请认为我是新手,谢谢!
答案 0 :(得分:0)
您所走的路是正确的,但实际上甚至不需要存储除数-只需输出找到的除数(mod = 0),然后将其值添加到累加器变量即可。
然后您也不需要while
。而是将for
循环更改为仅上升到a
而不是32767。