tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
38
Task/Prime-decomposition/Pascal/prime-decomposition.pascal
Normal file
38
Task/Prime-decomposition/Pascal/prime-decomposition.pascal
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
Program PrimeDecomposition(output);
|
||||
|
||||
type
|
||||
DynArray = array of integer;
|
||||
|
||||
procedure findFactors(n: Int64; var d: DynArray);
|
||||
var
|
||||
divisor, next, rest: Int64;
|
||||
i: integer;
|
||||
begin
|
||||
i := 0;
|
||||
divisor := 2;
|
||||
next := 3;
|
||||
rest := n;
|
||||
while (rest <> 1) do
|
||||
begin
|
||||
while (rest mod divisor = 0) do
|
||||
begin
|
||||
setlength(d, i+1);
|
||||
d[i] := divisor;
|
||||
inc(i);
|
||||
rest := rest div divisor;
|
||||
end;
|
||||
divisor := next;
|
||||
next := next + 2;
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
factors: DynArray;
|
||||
j: integer;
|
||||
|
||||
begin
|
||||
setlength(factors, 1);
|
||||
findFactors(1023*1024, factors);
|
||||
for j := low(factors) to high(factors) do
|
||||
writeln (factors[j]);
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue