Определить количество чисел, для которых программа выведет такой же результат, что и для заданного числа - Pascal

Узнай цену своей работы

Формулировка задачи:

[ЕГЭ] 21 задание По какому алгоритму решать подобные задания? Неужели сидеть и все пересчитывать. Определите, количество чисел K, для которых следующая программа выведет такой же результат, что и для K = 17?
Листинг программы
  1. var i, k: integer;
  2. function F(n:integer):integer;
  3. begin
  4. F:=n*n*n+5*n*n;
  5. end;
  6. begin
  7. readln(k);
  8. i := 1;
  9. while f(i) < K do
  10. i:=i+1;
  11. if f(i)-k<=k-2*f(i-1) then
  12. writeln(i)
  13. else writeln(i-1);
  14. end.

Решение задачи: «Определить количество чисел, для которых программа выведет такой же результат, что и для заданного числа»

textual
Листинг программы
  1. program test;
  2.  
  3. var
  4.   i, k: integer;
  5.  
  6.   function F(n: integer): integer;
  7.   begin
  8.     F := n * n * n + 5 * n * n;
  9.   end;
  10.  
  11. begin
  12.   for k := 1 to 28 do
  13.   begin
  14.     Write(K: 2, ' ');
  15.     i := 1;
  16.     while f(i) < K do
  17.       i := i + 1;
  18.     Write(i, ' ');
  19.     if f(i) - k <= k - 2 * f(i - 1) then
  20.       writeln(i)
  21.     else
  22.       writeln(i - 1);
  23.   end;
  24. end.

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

  1. Объявляется программа с названием test.
  2. Объявляются переменные i и k целочисленного типа.
  3. Объявляется функция F с входным параметром n целого типа, которая возвращает целое число.
  4. Внутри функции F происходит вычисление значения по формуле: n * n * n + 5 * n * n.
  5. Начинается выполнение основной программы.
  6. Происходит цикл for от 1 до 28.
  7. Для каждого значения k выполняется следующее:
    • Выводится значение k.
    • Присваивается значение i равное 1.
    • Выполняется цикл while пока значение функции F(i) меньше чем k: --- i увеличивается на 1.
    • Выводится значение i.
    • Если разница между значением функции для текущего i и k меньше или равна разнице между k и удвоенной функции от (i-1), то выводится значение i, иначе выводится значение (i-1). Код рассчитан на вычисление и вывод количества чисел, для которых программа выведет такой же результат, что и для заданного числа k.

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


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

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

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы