49 lines
754 B
ObjectPascal
49 lines
754 B
ObjectPascal
program CountInFactors(output);
|
|
|
|
{$IFDEF FPC}
|
|
{$MODE DELPHI}
|
|
{$ENDIF}
|
|
|
|
type
|
|
TdynArray = array of integer;
|
|
|
|
function factorize(number: integer): TdynArray;
|
|
var
|
|
k: integer;
|
|
begin
|
|
if number = 1 then
|
|
begin
|
|
setlength(Result, 1);
|
|
Result[0] := 1
|
|
end
|
|
else
|
|
begin
|
|
k := 2;
|
|
while number > 1 do
|
|
begin
|
|
while number mod k = 0 do
|
|
begin
|
|
setlength(Result, length(Result) + 1);
|
|
Result[high(Result)] := k;
|
|
number := number div k;
|
|
end;
|
|
inc(k);
|
|
end;
|
|
end
|
|
end;
|
|
|
|
var
|
|
i, j: integer;
|
|
fac: TdynArray;
|
|
|
|
begin
|
|
for i := 1 to 22 do
|
|
begin
|
|
write(i, ': ' );
|
|
fac := factorize(i);
|
|
write(fac[0]);
|
|
for j := 1 to high(fac) do
|
|
write(' * ', fac[j]);
|
|
writeln;
|
|
end;
|
|
end.
|