ПРОГРАММА ** PASCAL! Дано натуральное число m представить в виде сумме квадратов двух...

0 голосов
42 просмотров

ПРОГРАММА НА PASCAL!

Дано натуральное число m представить в виде сумме квадратов двух натуральных чисел. Выдать сообщение, если такое представление невозможно


Информатика (62 баллов) | 42 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Programm Pozitiv;
var
m,m1,m2 ,result:real;
begin
clrscr;
write('Введите число');
Read(m);
if m<0 then write('Вы ввели некорректное число') else<br>begin
m1:=m*m;
m2:=m1;
result:=m1+m2;
write('Ответ:',result);
end;
end.

(180 баллов)
0

Паскалем давно не пользовался, но работать логически должно))) если цифра вводимая будет меньше 0 то будет сообщение

0

И строку if m<0 then write('Вы ввели некорректное число') else

0

И строку if m<0 then write('Вы ввели некорректное число') else  лучше заменить на И строку if m<=0 then write('Вы ввели некорректное число') else 

0

тогда ноль тоже не будет считать

0

все понял, спасибо )

0

var i,n,k,m: integer;
    priz: boolean;
begin
  write('N = ');  readln(n);
  priz:=true;
  for i:=1 to round(sqrt(n)) do
  begin
    k:=n-i*i;
    if (k mod 10) in [1,4,5,6,9] then
    begin
      m:=round(sqrt(k));
      if m*m=k then
      begin
        writeln('число ',n,' равно сумме квадратов чисел ',i,' ',m);
        writeln(n,' = ',i*i,' + ',m*m);
        priz:=false;
        break;
      end;
    end;
  end;
  if priz then
  writeln('число ',n,' не равно сумме квадратов двух чисел');
en

0

Последняя строка не вошла - end.   На тестовой задаче :   

N = 369
число 369 равно сумме квадратов чисел 12 15
369 = 144 + 225