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