Примеры задач
Простые типы данных
Дано натуральное число 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.