Найти тройку последовательных натуральных чисел - Pascal
Формулировка задачи:
Даны натуральные числа N и M. Найти тройку последовательных натуральных чисел на промежутке [1; M], произведение которых равна N. Предусмотреть ответ "последовательность не найдена".
Решение задачи: «Найти тройку последовательных натуральных чисел»
textual
Листинг программы
var n, m, k: integer; begin repeat write('n > 0; n = '); readln(n) until n > 0; repeat write('m > 0; m = '); readln(m) until m > 0; k := round(exp(ln(n) / 3)); if (k + 1 > m) or ((k - 1) * k * (k + 1) <> n) then write('Последовательность не найдена') else write(k - 1, ' * ', k, ' * ', k + 1, ' = ', n); readln end.
Объяснение кода листинга программы
- Объявляются три целочисленные переменные
n
,m
иk
. - Вводится значение переменной
n
с помощью цикла repeat...until, при этом выводится приглашениеn > 0; n =
. - Повторяется ввод
m
с помощью цикла repeat...until, при этом выводится приглашениеm > 0; m =
. - Вычисляется значение переменной
k
как округленное значение от деления логарифмаn
на 3. - Проверяется условие: если значение
k + 1
большеm
ИЛИ произведение(k - 1) * k * (k + 1)
не равноn
, выводится сообщениеПоследовательность не найдена
. - Иначе выводится сообщение, состоящее из значений переменных
k - 1
,k
,k + 1
иn
, разделенных звездочками и равно. - Программа ожидает ввода пользователя и завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д