Напишите в ответе число, равное количеству различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 25. Значение k = 25 также включается в подсчёт количества различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < K I = I + 1 WEND IF F(I)-K <= K-F(I-1) THEN PRINT I ELSE PRINT I-1 END IF FUNCTION F(N) F = N * N * N END FUNCTION
| def f(n): return n*n*n i = 1 k = int(input()) while f(i) < k: i+=1 if (f(i)-k <= k-f(i-1)): print (i) else: print (i - 1)
|
| Паскаль | Алгоритмический язык |
var k, i : longint;
function f(n: longint) : longint; begin f := n * n * n; end; begin readln(k); i := 1; while f(i) < k do i := i+1; if f(i)-k <= k-f(i-1) then writeln(i) else writeln(i-1); end.
| алг нач цел i, k ввод k i := 1 нц пока f(i) < k i := i + 1 кц если f(i)-k <= k-f(i-1) то вывод i иначе вывод i-1 все кон алг цел f(цел n) нач знач := n * n * n кон |
| Си++ | |
#include <iostream> using namespace std; long f(long n) { return n * n * n; }
int main() { long k, i; cin >> k; i = 1; while (f(i) < k) i++; if (f(i)-k <= k-f(i-1)){ cout << i << endl; } else { cout << i-1 << endl; } }
| |
Для начала подставим k=25. Тогда i будет равняться 3.
Значит, нас интересуют такие значения k, при которых i=3, и при этом f(i)-k <= k-f(i-1). Или значения i=4, при которых f(i) - k > k-f(i-1).
Имеем:
1)
2)
Получаем, что нас интересуют целые числа от 18 до 45, таких чисел 28.
Ответ: 28.

