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

Sofa29122005 Sofa29122005    1   26.01.2020 16:35    6

Ответы
lehfff lehfff  11.10.2020 03:20

Си++

#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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика