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

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

Бей­сикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < G(I)+K

    I = I + 1

WEND

  PRINT I

FUNCTION F(N)

  F = (N+1) * (N+1)

END FUNCTION

FUNCTION G(N)

    G = N * N

END FUNCTION

def f(n):

    return (n+1)*(n+1)

def g(n):

    return n*n

i = 1

k = int(input())

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

    i+=1

print (i)

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

var

    k, i : longint;

 

function f(n: longint) : longint;

begin

    f := (n+1) * (n+1);

end;

function g(n: longint) : longint;

begin

    g:= n * n;

end;

begin

    readln(k);

    i := 1;

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

        i := i+1;

    writeln(i)

end.

алг

нач

    цел i, k

    ввод k

    i := 1

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

        i := i + 1

    кц

    вывод i

    все

кон

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

нач

    знач := (n+1) * (n+1)

кон

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

нач

    знач := n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return (n+1) * (n+1);

}

long g(long n) {

    return n * n ;

}

 

int main()

{

    long k, i;

    cin >> k;

    i = 1;

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

        i++;

    }

        cout << i << endl;

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

Ре­ше­ние.

За­пи­шем урав­не­ние  x в квад­ра­те плюс 2x плюс 1 мень­ше x в квад­ра­те плюс k, его можно при­ве­сти к виду:  2x мень­ше k минус 1, Цикл дол­жен вы­пол­нит­ся при i рав­ном 9, то есть долж­но быть вы­пол­не­но усло­вие: f левая круг­лая скоб­ка 9 пра­вая круг­лая скоб­ка мень­ше g левая круг­лая скоб­ка 9 пра­вая круг­лая скоб­ка плюс k, что эк­ви­ва­лент­но не­ра­вен­ству  2 умно­жить на 9 мень­ше k минус 1, от­ку­да k боль­ше 19. Цикл дол­жен пре­рвать­ся при i  =  10, то есть долж­но быть вы­пол­не­но усло­вие f левая круг­лая скоб­ка 10 пра­вая круг­лая скоб­ка боль­ше или равно g левая круг­лая скоб­ка 10 пра­вая круг­лая скоб­ка плюс k, что эк­ви­ва­лент­но не­ра­вен­ству  2 умно­жить на 10 боль­ше или равно k минус 1, от­ку­да k мень­ше или равно 21. Таким об­ра­зом, по­лу­ча­ем:  19 мень­ше k мень­ше или равно 21. Наи­мень­шее зна­че­ние k равно 20.

 

Ответ: 20.