tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
31
Task/Pythagorean-triples/Pascal/pythagorean-triples.pascal
Normal file
31
Task/Pythagorean-triples/Pascal/pythagorean-triples.pascal
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
Program PythagoreanTriples (output);
|
||||
|
||||
var
|
||||
total, prim, maxPeri: int64;
|
||||
|
||||
procedure newTri(s0, s1, s2: int64);
|
||||
var
|
||||
p: int64;
|
||||
begin
|
||||
p := s0 + s1 + s2;
|
||||
if p <= maxPeri then
|
||||
begin
|
||||
inc(prim);
|
||||
total := total + maxPeri div p;
|
||||
newTri( s0 + 2*(-s1+s2), 2*( s0+s2) - s1, 2*( s0-s1+s2) + s2);
|
||||
newTri( s0 + 2*( s1+s2), 2*( s0+s2) + s1, 2*( s0+s1+s2) + s2);
|
||||
newTri(-s0 + 2*( s1+s2), 2*(-s0+s2) + s1, 2*(-s0+s1+s2) + s2);
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
maxPeri := 100;
|
||||
while maxPeri <= 1e10 do
|
||||
begin
|
||||
prim := 0;
|
||||
total := 0;
|
||||
newTri(3, 4, 5);
|
||||
writeln('Up to ', maxPeri, ': ', total, ' triples, ', prim, ' primitives.');
|
||||
maxPeri := maxPeri * 10;
|
||||
end;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue