Практикум по решению задач на ЭВМ. Тарова И.Н - 44 стр.

UptoLike

Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В.
readln;
end.
3) Дано натуральное число n. Можно ли представить его в виде суммы 3-х
квадратов натуральных чисел. Если можно, то:
a) указать тройку X, Y, Z для которой n=x
2
+y
2
+z
2
;
b) указать все тройки X, Y, Z для которых n=x
2
+y
2
+z
2
.
program zad(input, output);
USES CRT;
label a1;
var
s,n,k:longint;
x,y,z:longint;
begin
clrscr;
k:=0;
write('Введите число для проверки: ');
read(n);
readln;
for x:=1 to n do
for y:=1 to n do
for z:=1 to n do
begin
s:=(x*x)+(y*y)+(z*z);
if s=n then
begin
k:=k+1;
writeln(' x=',x,' y=',y,' z=',z);
goto a1;
end;
end;
a1: if k=0 then writeln('таких троек нет');
readln;
end.
44
                                  Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В.


     readln;
  end.




3) Дано натуральное число n. Можно ли представить его в виде суммы 3-х
квадратов натуральных чисел. Если можно, то:
   a) указать тройку X, Y, Z для которой n=x2+y2+z2;
   b) указать все тройки X, Y, Z для которых n=x2+y2+z2.

  program zad(input, output);
  USES CRT;
  label a1;
  var
    s,n,k:longint;
    x,y,z:longint;
  begin
     clrscr;
     k:=0;
     write('Введите число для проверки: ');
     read(n);
     readln;
     for x:=1 to n do
     for y:=1 to n do
     for z:=1 to n do
        begin
            s:=(x*x)+(y*y)+(z*z);
            if s=n then
            begin
                k:=k+1;
                writeln(' x=',x,' y=',y,' z=',z);
                goto a1;
            end;
        end;
     a1: if k=0 then writeln('таких троек нет');
     readln;
  end.




                                        44