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

Задачи по Pascal

Условие задачи: Написать программу, которая печатает TRUE или FALSE в зависимости от того, выполняются или нет указанные условия. Определить, равен ли квадрат заданного трехзначного числа кубу суммы его цифр.
(Язык Pascal)

Сложность: легкая.

Решение задачи

Для начала продумаем наше решение, сначала мы сосчитаем квадрат нашего числа, потом мы разобьём число на цифры, их сложим, посчитаем куб, а потом уже сравним результаты.

  1. Для того чтобы решить задачу нам понадобятся следующие переменные:
  2. Переменная number — для нашего числа.
  3. Переменная kvadr — для квадрата нашего числа.
  4. Переменные n1, n2, n3 — для цифр нашего числа, из которых мы получим сумму и найдем куб.
  5. Переменная kyb — для куба нашего числа.
  6. Переменная res — для True или False, результат вообщем.

Начнем мы с каркаса нашей программы

1
2
3
4
5
6
7
var
number, kvadr, n1, n2, n3 : integer;
res : boolean;
kyb : real;
begin
write('Введите трехзначное число : ');readln(number);
end.

Тут мы объявили все переменные и попросили пользователя ввести число. Дальше найдем квадрат нашего числа, делается это с помощью специальной функции sqr():

sqr — эта функция которая которая возводит число в квадрат

Пишем:

1
kvadr := sqr(number);

Теперь у нас есть квадрат числа, т.е. если у нас переменная number равна 111, в переменной kvadr будет 111*111.

Дальше нам надо найти куб суммы цифр, для этого надо сначала найти все цифры. Тут нам помогут операции mod и div, подробнее про них читайте (тут).

Пишем:

1
2
3
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 и т.д)

Пишем:

1
kyb := power(n1+n2+n3,3);

Сначала сумма трех цифр, а потом указали степень. Ну а теперь осталось сравнить эти два числа, пишем вот так:

1
res := (kvadr=kyb);

Т.е. мы переменной res присваиваем результат сравнения. Теперь у нас в res будет либо True либо False.

Всё решение задачи Pascal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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.

cyber
Оцените автора
CyberLesson | Быстро освоить программирование Pascal и C++. Решение задач Pascal и C++
Добавить комментарий