Условие задачи : Написать программу, которая печатает TRUE или FALSE в зависимости от того, выполняются или нет указанные условия. Определить, равен ли квадрат заданного трехзначного числа кубу суммы его цифр.
(Язык Pascal)
Сложность: легкая.
Решение задачи :
Для начала продумаем наше решение, сначала мы сосчитаем квадрат нашего числа, потом мы разобьём число на цифры, их сложим, посчитаем куб, а потом уже сравним результаты.
Для того чтобы решить задачу нам понадобятся следующие переменные:
1. Переменная number — для нашего числа.
2. Переменная kvadr — для квадрата нашего числа.
3. Переменные n1, n2, n3 — для цифр нашего числа, из которых мы получим сумму и найдем куб.
4. Переменная kyb — для куба нашего числа.
5. Переменная res — для True или False, результат вообщем.
Начнем мы с каркаса нашей программы :
var
number, kvadr, n1, n2, n3 : integer;
res : boolean;
kyb : real;
begin
write('Введите трехзначное число : ');readln(number);
end.
Тут мы объявили все переменные и попросили пользователя ввести число. Дальше найдем квадрат нашего числа, делается это с помощью специальной функции sqr():

Пишем:
kvadr := sqr(number);
Теперь у нас есть квадрат числа, т.е. если у нас переменная number равна 111, в переменной kvadr будет 111*111.
Дальше нам надо найти куб суммы цифр, для этого надо сначала найти все цифры. Тут нам помогут операции mod и div, подробнее про них читайте (тут).
Пишем:
n1 := number mod 10; // нашли 3-ю цифру n2 := number div 10 mod 10; // нашли 2-ю цифру n3 := number div 100; // нашли 1-ю цифру
Если не понятно как это сделано, еще раз повторюсь читайте статью (тут).
Теперь чтобы у нас есть все цифры. Для того чтобы возвести число в куб нам поможет функция power():

Пишем:
kyb := power(n1+n2+n3,3);
Сначала сумма трех цифр, а потом указали степень. Ну а теперь осталось сравнить эти два числа, пишем вот так:
res := (kvadr=kyb);
Т.е. мы переменной res присваиваем результат сравнения. Теперь у нас в res будет либо True либо False.
Всё решение задачи Pascal :
var
number, kvadr, n1, n2, n3 : integer; // объявляем переменные
res : boolean; // объявляем переменные
kyb : real; // объявляем переменные
begin
write('Введите трехзначное число : ');readln(number); // вводим число
kvadr := sqr(number); // ищем квадрат числа
n1 := number mod 10; // ищем 3-ю цифру, т.е. если число 123 , то ищем 3
n2 := number div 10 mod 10; // ищем 2-ю цифру
n3 := number div 100; // ищем 1-ю цифру
kyb := power(n1+n2+n3,3); // ищем куб
res := (kvadr=kyb); // сравниваем
writeln(kvadr, ' | ', kyb:3:0); // для наглядности выведем получившиеся числа
writeln(res); // выводим результат
end.
