Найти тройку последовательных натуральных чисел - 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.

Объяснение кода листинга программы

  1. Объявляются три целочисленные переменные n, m и k.
  2. Вводится значение переменной n с помощью цикла repeat...until, при этом выводится приглашение n > 0; n =.
  3. Повторяется ввод m с помощью цикла repeat...until, при этом выводится приглашение m > 0; m =.
  4. Вычисляется значение переменной k как округленное значение от деления логарифма n на 3.
  5. Проверяется условие: если значение k + 1 больше m ИЛИ произведение (k - 1) * k * (k + 1) не равно n, выводится сообщение Последовательность не найдена.
  6. Иначе выводится сообщение, состоящее из значений переменных k - 1, k, k + 1 и n, разделенных звездочками и равно.
  7. Программа ожидает ввода пользователя и завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5
Похожие ответы