Примеры задач

Простые типы данных


Дано натуральное число n. Можно ли его представить в виде суммы трёх квадратов натуральных чисел? Если можно, то укажите тройку x, y, z таких, что .

Методика решения

Например:
12+22+32=14.

Используемые переменные:
X, Y, Z - тройка искомых чисел;
N – данное число;
M – логическая переменная.

Для реализации дано программы, можно воспользоваться методом перебора всех возможных значений x, y, z.
Чтобы это реализовать необходимо организовать три вложенных цикла с параметрами. Каждый из этих циклов перебирает значения X, Y и Z (от 1 до N ). В циклах мы выясняем, является ли данная тройка X, Y и Z искомой, то есть проверяем условие . Если условие выполняется, то логической переменной присваиваем true.
Если после завершения циклов переменная M имеет значение true, число n можно представить в виде суммы трёх квадратов натуральных чисел. Выводим на экран три этих числа ( X, Y, Z ). В противном случае выводим сообщение о том, что число n нельзя представить в таком виде.

Листинг программы

Program ex4;
Uses Crt;
Var x,y,z,n:Integer;
m:Boolean;
Begin ClrScr;
WriteLn('Введитенатуральное число n');
ReadLn(n);
For x:=1 To n Do
For y:=1 To n Do
For z:=1 To n Do
If Sqr(x)+Sqr(y)+Sqr(z)=n Then
Begin
WriteLn('Тройка чисел:',x:3,y:3,z:3);
m:=true;
End;
If m=false Then WriteLn('данное число представить нельзя');
ReadKey;
End.

Запустить программу






Назад