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

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

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

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

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

textual
Листинг программы
program test;
 
var
  i, k: integer;
 
  function F(n: integer): integer;
  begin
    F := n * n * n + 5 * n * n;
  end;
 
begin
  for k := 1 to 28 do
  begin
    Write(K: 2, ' ');
    i := 1;
    while f(i) < K do
      i := i + 1;
    Write(i, ' ');
    if f(i) - k <= k - 2 * f(i - 1) then
      writeln(i)
    else
      writeln(i - 1);
  end;
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
Похожие ответы