Задачи по Pascal. Определить, равен ли квадрат заданного трехзначного числа кубу суммы его цифр.

pascalУсловие задачи : Написать программу, которая печатает 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():

Информация
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():

Информация
power() — эта которая функция которая возводит число в указанную степень, не только в куб, работает только с нецелыми числами (3.14, 5.2, 2.0 и т.д)

Пишем:

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.

Вот результат :

opredelit-raven-li-kvadrat-zadannogo-trexznachnogo-chisla-kubu-summy-ego-cifr

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *