Pascal. Программирование алгоритмов циклической структуры.

Ответить
Marvell
Сообщения: 9
Зарегистрирован: 17 ноя 2007, 11:23

Целое число представить в виде суммы двух квадратов
Serge_Bliznykov
Сообщения: 375
Зарегистрирован: 31 авг 2007, 03:06

ну, примерно так ("в лоб")):

Код: Выделить всё

var
  N, i, j, MaxI : integer;
begin
  Write( 'Введите число : ');
  Readln(N);
  if N < 2 then 
    WriteLn('Не, для такого числа сумму квадратов целых чисел подобрать не получится.')
  else begin
    MaxI := trunc(sqrt(N));
    for i:=1 to MaxI do
      for j:=1 to MaxI do
        if (sqr(i)+sqr(j))=N then
        begin
          WriteLn(i:1,'^2 + ',j:1,'^2 = ',N:1);
          Exit;
        end;
    WriteLn('к сожалению, ничего подобрать не удалось... ;-( ');
  end;
end.  
Ответить