СРОЧНО!!!!
Напишите в ответе число различных значений входной переменной k, при которых программа выдаёт тот же ответ, что и при входном значении k = 55. Значение k = 55 также включается в подсчёт различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.
Бейсик Python
DIM K, I AS LONG
INPUT K
I = 0
WHILE F(I) < K
I = I + 1
WEND
PRINT I
FUNCTION F(N)
F = 3*N*N+1
END FUNCTION
def f(n):
return 3*n*n+1
k = int(input())
i = 0
while f(i) < k:
i = i + 1
print(i)
Алгоритмический язык Паскаль
алг
нач
цел i, k
ввод k
i := 0
нц пока f(i) < k
i := i+1
кц
вывод i
кон
алг цел f(цел n)
нач
знач := 3*n*n+1
кон
var k, i : longint;
function f(n: longint):longint;
begin
f := 3*n*n+1
end;
begin
readln(k);
i := 0;
while (f(i) i := i+1;
writeln(i)
end.
Си++
#include
using namespace std;
long f(long n) {
return 3*n*n+1;
}
int main()
{
long k, i;
cin >> k;
i = 0;
while (f(i) i++;
cout << i << endl;
}
Answers & Comments
Си++
#include <iostream>
using namespace std;
long f(long n) {
return 3*n*n+1;
}
int main(){
long k, i;
cin >> k;
i = 0;
while (f(i) < k) i++;
cout << i << endl;
}
В результате этой программы выведется число 5, т.е при i = 5 цикл завершается, но для i = 4 он был выполнен.
Значит, нам нужно рассматривать те значения k, которые лежат в промежутке f(4) < k ≤ f(5)
Согласно функции:
f(4) = 3 * 4 * 4 + 1 = 48 + 1 = 49
f(5) = 3 * 5 * 5 + 1 = 75 + 1 = 76
Значит, k может принимать следующие значения:
50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76 — 27 значений
(Р.S. k = 76 также учитывается, т.к. при этом i = 5 (поскольку 76 < 76 рассматривается как неверное утверждение))
Ответ: 27