Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+1

Написать код на паскале через цикл While. Спасибо кто поможет)

Натуральные числа a, b, c называются числами Пифагора, если выполняется условие a2+b2=c2, вывести все числа Пифагора меньше N.

По дате
По рейтингу
Аватар пользователя
Новичок
1234567891011121314151617181920212223242526272829
 var a, b, c, aa, cc, m, n: longint; 
begin 
write('n: '); 
readln(n); 
writeln(); 
c := 0; 
m := 0; 
while c < n do 
begin 
  c := c + 1; 
  cc := c * c; 
  a := 0; 
  while a < n do 
  begin 
    a := a + 1; 
    aa := a * a; 
    b := a; 
    while b < n do 
    begin 
      b := b + 1; 
      if aa + b * b = cc then 
      begin 
        m := m + 1; 
        writeln(m:4, ') ', a:4, ' ', b:4, ' ', c:4) 
      end 
    end 
  end 
end 
end. 

Это заведомо не очень эффективный алгоритм, но для n (то есть для всех пифагоровых треугольников с максимальной гипотенузой n) вплоть до тысячи вполне сойдёт. Список троек упорядочен по возрастанию гипотенуз c, не превосходящих n:

Аватар пользователя
Мастер

python