Olympiad in Informatics Beginners' Home's Archiver

lhgzwsx 发表于 2008-11-18 09:42 AM

求2~200中每个数的质因子。

主要是解决比如:8=2*2*2重复的质因子是怎么找出来的?谢谢各位!

LuoboTixS 发表于 2008-11-18 03:52 PM

[code]program BasicMath_PolynomialFactors;
const
maxp=1000;
var
pnum,n:longint;
num,p:array[1..maxp] of longint;
procedure main;
var x:longint;
begin
fillchar(num,sizeof(num),0);
fillchar(p,sizeof(p),0);
pnum:=0;
x:=1;
while(n>1) do
  begin
  inc(x);
  if n mod x=0 then
    begin
     inc(pnum);
     p[pnum]:=x;
     while(n mod x=0) do
       begin
        n:=n div x;
        inc(num[pnum]);
      end;
   end;
end;
end;
procedure out;
var j,i:integer;
begin
for i:=1 to pnum do
for j:=1 to num do
write(p:5);
writeln;
end;
begin
main;
out;
end.[/code]

页: [1]


Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.