Предмет: Информатика, автор: ТанкистДимка

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

Ответы

Автор ответа: SashaSimonova007
0

Си++

#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

Похожие вопросы
Предмет: Математика, автор: dasha12krivko03
Предмет: Информатика, автор: отличник494