求2~200中每个数的质因子。
主要是解决比如:8=2*2*2重复的质因子是怎么找出来的?谢谢各位! [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]