напишите в ответе число различных значений входной переменной 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(
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;
}
Си++
#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