Trójki pitagorejskie

0

Witam
Jestem tu nowy i od razu mam prośbę :-( Potrzebny mi jest program który:
Wypisze wszystkie trójki pitagorejskie liczby n, podanej przez użytkownika, tzn. wszystkie trójki liczb naturalnych i,j,k takie, że 0<=k<=n oraz i(kwadrat)+j(kwadrat)=k(kwadrat).

Zainteresowanych pomocą mi proszę o jak najszybsze napisane tegoż programu. Pozdrawiam

0

A ja jestem tutaj nie az taki nowy, ale nie mam na piwo. Wszystkich zainteresowanych prosze o szybkie postawienie.

0

Pierwsze przybliżenie to:
for i:=1 to n do
for j:=1 to n do begin
//czy ii + jj jest kwadratem?
k2:=ii + jj;
k:=trunc(sqrt(k2));
if (k <= n) and (k*k = k2) then
yuhu - znalazłem k^2=i^2 + j^2
end;

jakie wady ma ten algorytm?
0
mgr.Dobrowolski napisał(a)

Pierwsze przybliżenie to:

for i:=1 to n do
        for j:=1 to n do begin
              //czy i*i + j*j jest kwadratem?
              k2:=i*i + j*j;
              k:=trunc(sqrt(k2));
              if (k <= n) and (k*k = k2) then
                      yuhu - znalazłem k^2=i^2 + j^2
        end;

jakie wady ma ten algorytm?

pierwsza 3 pitagorejska to 3 4 5.
ten program jezeli bedzie wypisywal wszystkie trojki to wypisze tak:
yuhu - znalazłem 52=32 + 4^2
a nastepna 3 beda:
yuhu - znalazłem 52=42 + 3^2
jak widac to te same :-|
btw nie trzeba k2 wystarczy przeksztalcic wzor a2+b2=c2 na a2+b2-c2=0
k=aa+bb-c*c
if k=0 then ....

0

k=aa+bb-c*c
czy na pewno?

1 użytkowników online, w tym zalogowanych: 0, gości: 1