不是VIP会员,不能显示答案

题目解答

题目:
(最大质因子)小明有N(1<=N<=5000)个正整数(每个数都不超过20000),他想要从中找出一个含有最大质因子的数。例如10,含有2和5两个质因子;31,含有31这个质因子。
样例输入:
4
36
38
40
42
样例输出:
38 //38含有最大质因子19
var
  prime:array[1..20000]of boolean;
  a,i,j,n,max,maxnum:word;
procedure create;
var
  i,j:word;
begin
  fillchar(prime,sizeof(prime),true);
  prime[1]:=false;
  for i:=2 to 20000 do
    for j:=2 to trunc(sqrt(i))do
    if i mod j=0 then
    begin
             _prime[i]:=true_       ;
      break;
    end;
end;
 
begin
  create;
  readln(n);
  for i:=1 to n do
  begin
    readln(a);
    for j:=   __j:=a downto 2__        do
      if(a mod j=0)and(     __prime[j]__      )then break;
    if   _j>max__  then begin max:=j;maxnum:=a;end;
  end;
  write(  __maxnum__  );
  readln;
end.
考点:
分析:
解答:
评论:
老师: