Задания
Версия для печати и копирования в MS Word
Тип Д21 № 9771
i

На­пи­ши­те в от­ве­те наи­мень­шее зна­че­ние вход­ной пе­ре­мен­ной k, при ко­то­ром про­грам­ма выдаёт тот же ответ, что и при вход­ном зна­че­нии k = 20. Для Ва­ше­го удоб­ства про­грам­ма при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

Бей­сикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < G(K)

  I = I + 1

WEND

PRINT I

FUNCTION F(N)

   F = N * N * N

END FUNCTION

FUNCTION G(N)

  G = 3*N + 3

END FUNCTION

def f(n):

  return n*n*n

def g(n):

  return 3*n+3

k = int(input())

i = 1

while f(i) < g(k):

  i+=1

print (i)

Пас­кальАл­го­рит­ми­че­ский язык

var

  k, i : longint;

function f(n: longint): longint;

begin

  f := n * n * n;

end;

function g(n: longint): longint;

begin

  g := 3*n + 3;

end;

begin

  readln(k);

  i := 1;

  while f(i) < g(k) do

    i := i+1;

  writeln(i)

end.

алг

нач

  цел i, k

  ввод k

  i := 1

  нц пока f(i) < g(k)

    i := i + 1

  кц

  вывод i

кон

алг цел f(цел n)

нач

  знач := n * n * n

кон

алг цел g(цел n)

нач

  знач := 3*n + 3

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

  return n * n * n;

}

long g(long n) {

  return 3*n + 3;

}

int main()

{

  long k, i;

  cin >> k;

  i = 1;

  while(f(i) < g(k))

    i++;

  cout << i << endl;

  return 0;

}

Спрятать решение

Ре­ше­ние.

Дан­ная про­грам­ма срав­ни­ва­ет i3 и 3 · k + 3 и при­бав­ля­ет к i еди­ни­цу до тех пор, пока i3 < 3 · k + 3. И вы­во­дит пер­вое зна­че­ние пе­ре­мен­ной i при ко­то­ром i в кубе боль­ше или равно 3 умно­жить на k плюс 3.

При k = 20, про­грам­ма вы­ве­дет число 4.

За­пи­шем не­ра­вен­ство: 3 в кубе мень­ше 3 * k плюс 3 мень­ше или равно 4 в кубе от­сю­да по­лу­чим, что наи­мень­шее зна­че­ние k = 9.

 

Ответ: 9.


Аналоги к заданию № 7932: 9372 7997 9771 ... Все