41 lines
603 B
Plaintext
41 lines
603 B
Plaintext
program AlmostPrime;
|
|
|
|
{$APPTYPE CONSOLE}
|
|
|
|
function IsKPrime(const n, k: Integer): Boolean;
|
|
var
|
|
p, f, v: Integer;
|
|
begin
|
|
f := 0;
|
|
p := 2;
|
|
v := n;
|
|
while (f < k) and (p*p <= n) do begin
|
|
while (v mod p) = 0 do begin
|
|
v := v div p;
|
|
Inc(f);
|
|
end;
|
|
Inc(p);
|
|
end;
|
|
if v > 1 then Inc(f);
|
|
Result := f = k;
|
|
end;
|
|
|
|
var
|
|
i, c, k: Integer;
|
|
|
|
begin
|
|
for k := 1 to 5 do begin
|
|
Write('k = ', k, ':');
|
|
c := 0;
|
|
i := 2;
|
|
while c < 10 do begin
|
|
if IsKPrime(i, k) then begin
|
|
Write(' ', i);
|
|
Inc(c);
|
|
end;
|
|
Inc(i);
|
|
end;
|
|
WriteLn;
|
|
end;
|
|
end.
|