Анализ и построение алгоритмов для исполнителейФИПИ КЭС 3.2ФИПИ
Напишите в ответе число, равное количеству различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 12. Значение k = 12 также включается в подсчёт количества различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик
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
Python
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)
Алгоритмический язык
алг нач цел 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 кон
Паскаль
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.
С++
#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; } else { cout << i - 1; } return 0; }