ВХОД

МЕТОДИЧЕСКИЕ РАЗРАБОТКИ ПО КУРСУ ИНФОРМАТИКИ

"ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL"

Начало > Глава V. Пифагоровы числа

ГЛАВА V

АЛГОРИТМ

Пифагоровы числа

Пифагоровыми числами называются числа, для которых выполняется равенство a2+b2= c2. Например, 32+42= 52 следовательно числа 3,4,5 – пифагоровы.
Поскольку уравнение x2+y2= z2 однородно, при домножении x, y и z на одно и то же число получится другая пифагорова тройка.

Пифагорова тройка называется примитивной, если она не может быть получена таким способом, то есть x,y,z — взаимно простые числа. (Взаимно простые числа - числа у которых НОД равен 1).


Некоторые пифагоровы тройки (отсортированы по возрастанию максимального числа, выделены примитивные):
(3, 4, 5), (6, 8, 10), (5, 12, 13), (9, 12, 15), (8, 15, 17), (12, 16, 20), (15, 20, 25), (7, 24, 25), (10, 24, 26), (20, 21, 29), (18, 24, 30), (10, 30, 34), (21, 28, 35), (12, 35, 37), (15, 36, 39), (24, 32, 40), (9, 40, 41), (27, 35, 45), (14, 48, 50), (30, 40, 50)…


Первый способ:

{a,b,c - проверяемые числа;
cc - сумма квадратов чисел a и b;
n - максимальное проверяемое число}


for a:=1 to n do
    for b:=a to n do
      begin
      cc:=a*a+b*b;
      c:=1;
      while (c*c<cc) and (c<n) do inc(c);
      If sqr(c)=cc then writeln(a,' ',b,' ',c,' - пифагоровы');
      end;

Второй способ:
    {a - первое число;
    b - второе число;
    c - третье число;
    a1 - первое число в квадрате;
    b1 - второе число в квадрате;
    c1 - третье число в квадрате;
    i - счетчик цикла}
a:=1 ;
while a<=n do
    begin
    a1:=SQR(a); {квадрат первого числа}
    for b:=1 to n do
      begin
      b1:=SQR(b); {квадрат второго числа}
      for c:=1 to n do
        begin
        c1:=SQR(c); {квадрат третьего числа}
        if c1=a1+b1 then writeln (a:5,b:5,c:5,' - пифагоровы');
        end;
      end;
    inc(a);
    end;



Третий способ:

readln(n);
for a:=1 to n do
for b:=a to n do
for c:=b to n do

If c*c=a*a+b*b then writeln(a:5, b:5, c:5, ' - пифагоровы');
end.



 

 

 

 

 

Copyright ©2011 Nika A.S.
Hosted by uCoz