В начало страницы

Тема Д21

Учитываемые варианты

Различие заданий

(Подсказка: для перехода к заданию нажмите на его название или на его линию.)

Максимальное допустимое различие в подтеме: 0.35. Выбрать другое: 0.5, 0.65.

Подтема 1

Задание 1.1 (ДОСР-2018, №15637)

Варианты

Текст задания

Какое значение будет выведено на экран после выполнения данной программы?

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

    A = -20: B = 20

    M = A: R = F(A)

    FOR T = A TO B

        IF F(T) > R THEN

            M = T

            R = F(T)

        END IF

    NEXT T

    PRINT M+24

    FUNCTION F(x)

        F := 2*(x-19)*(x-19)+7

    END FUNCTION

def f(x):

    return 2*(x-19)*(x-19)+7

a = -20

b = 20

M = a

R = f(a)

for t in range(a, b+1):

    if (f(t) > R):

        M = t

        R = f(t);

print(M+24)

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

var a,b,t,M,R :integer;

Function F(x: integer):integer;

    begin

        F := 2*(x-19)*(x-19)+7;

    end;

BEGIN

     a := -20; b := 20;

     M := a; R := F(a);

     for t := a to b do begin

         if (F(t) > R) then begin

             M := t;

            R := F(t);

        end;

    end;

write(M+24);

END.

алг

нач

    цел a, b, t, M, R

    a:=-20; b:=20

    M:=a; R:=F(a)

    нц для t от a до b

         если F(t) > R то

            то

                 M:=t; R:=F(t)

        все

    кц

    вывод M+24

кон

алг цел F(цел x)

нач

    знач :=2*(x-19)*(x-19)+7;

кон

Си++

#include <iostream>

using namespace std;

 

int F(int x)

{

    return 2*(x-19)*(x-19)+7

}

int main()

{

    int a, b, t, M, R;

    a = -20; b = 20;

    M = a; R = F(a);

    for (t=a; t<=b; t++){

        if (F(t) > R) {

            M = t; R = F(t);

        }

    }

    cout << (M+24) << endl;

}

 

Задание 1.2 (ДЕМО-2020, №19070)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM A, B, T, M, R AS LONG

A = -20: B = 20

M = A: R = F(A)

FOR T = A TO B

    IF F(T) < R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M + 27

 

FUNCTION F(x)

    F = 2 * (x * x - 100) * (x * x - 100) + 5

END FUNCTION

def F(x):

    return 2 * (x * x - 100) * (x * x - 100) + 5

a = -20; b = 20

M = a; R = F(a)

for t in range(a, b + 1):

    if (F(t) < R):

        M = t; R = F(t)

print(M + 27)

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

var a, b, t, M, R: longint;

function F(x: longint): longint;

    begin

        F := 2 * (x * x - 100) * (x * x - 100) + 5;

    end;

begin

    a := -20; b := 20;

    M := a; R := F(a);

    for t := a to b do begin

        if (F(t) < R) then begin

            M := t;

            R := F(t)

        end

    end;

    write(M + 27)

end.

алг

нач

    цел a, b, t, M, R

    a := -20; b := 20

    M := a; R := F(a)

    нц для t от a до b

        если F(t) < R то

            M := t; R := F(t)

        все

    кц

    вывод M + 27

кон

алг цел F(цел x)

нач

    знач := 2 * (x * x - 100) * (x * x - 100) + 5

кон

Си++

#include <iostream>

using namespace std;

 

long F(long x)

{

    return 2 * (x * x - 100) * (x * x - 100) + 5;

}

int main()

{

    long a, b, t, M, R;

    a = -20; b = 20;

    M = a; R = F(a);

    for (t = a; t <= b; t++) {

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout << M + 27 << endl;

    return 0;

}

 

Задание 1.3 (ОСН-2020, №26993)

Варианты

Текст задания ( )

Определите, какое число будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках):

 

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

A = -20: B = 20

M = A: R = F(A)

FOR T = A TO B

    IF F(T) < R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M + 18

 

FUNCTION F(x)

    F = 2*(x*x-9)*(x*x-9)+5;

END FUNCTION

def F(x):

    return 2*(x*x-9)*(x*x-9)+5

a=-20; b=20

M=a; R=F(a)

for t in range(a,b+1):

    if F(t) < R:

        M=t; R=F(t)

print(M + 18)

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

var a,b,t,M,R :longint;

Function F(x:integer):integer;

    begin

        F := 2*(x*x-9)*(x*x-9)+5;

    end;

BEGIN

    a := -20; b := 20;

    M := a; R := F(a);

     for t := a to b do begin

        if F(t)< R then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M + 18);

END.

алг

нач

    цел a, b, t, M, R

    a := -20; b := 20

    M := a; R := F(a)

    нц для t от a до b

        если F(t) < R

            то

                M := t; R := F(t)

        все

    кц

    вывод M + 18

кон

алг цел F(цел x)

нач

    знач := 2*(x*x-9)*(x*x-9)+5

кон

Си++

#include <iostream>

using namespace std;

int F(int x)

{

    return 2*(x*x-9)*(x*x-9)+5;

}

int main()

{

    int a, b, t, M, R;

    a = -20; b = 20;

    M = a; R = F(a);

    for (t=a; t<=b; t++) {

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout << M + 18 << endl;

    return 0;

}

 

Задание 1.4 (ОСН-2019, №18827)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

A = -10: B = 20

M = A: R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

    F = 2*(x*x-4)*(x*x-4)+41;

END FUNCTION

def F(x):

    return 2*(x*x-4)*(x*x-4)+41

a=-10; b=20

M=a; R=F(a)

for t in range(a,b+1):

    if F(t)<=R:

        M=t; R=F(t)

print(M+R)

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

var a,b,t,M,R :longint;

Function F(x:integer):integer;

    begin

        F := 2*(x*x-4)*(x*x-4)+41;

    end;

BEGIN

    a := -10; b := 20;

    M := a; R := F(a);

     for t := a to b do begin

        if F(t)<=R then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M+R);

END.

алг

нач

    цел a, b, t, M, R

    a := -10; b := 20

    M := a; R := F(a)

    нц для t от a до b

        если F(t) <= R

            то

                M := t; R := F(t)

        все

    кц

    вывод M+R

кон

алг цел F(цел x)

нач

    знач := 2*(x*x-4)*(x*x-4)+41

кон

Си++

#include <iostream>

using namespace std;

int F(int x)

{

    return 2*(x*x-4)*(x*x-4)+41;

}

int main()

{

    int a, b, t, M, R;

    a = -10; b = 20;

    M = a; R = F(a);

    for (t=a; t<=b; t++) {

        if (F(t)<=R) {

            M = t; R = F(t);

        }

    }

    cout << M+R << endl;

    return 0;

}

 

Задание 1.5 (ОСН-2020, №26964)

Варианты

Текст задания ( )

Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма.

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

A = −20: B = 20

M = A : R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

F=abs(abs(x−3)+abs(x+4)−9)+6

END FUNCTION

def F(x):

return(abs(abs(x−3)+abs(x+4)−9)+6)

 

a = −20; b = 20

M = a; R = F(a)

for t in range(a,b+1):

    if F(t) <= R:

        M = t; R = F(t)

print(M+R)

 

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

var

    a, b, t, M, R: integer;

 

function F(x: integer): integer;

begin

f:=abs(abs(x−3)+abs(x+4)−9)+6;

end;

 

begin

    a := −20; b := 20;

    M := a; R:= F(a)

    for t := a to b do begin

        if F(t) <= R then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M+R);

end.

 

алг

нач

    цел a, b, t, M, R

    a := −20; b := 20

    M := a; R := F(a)

    нц для t от a до b

        если F(t) <= R

            то M := t; R := F(t)

        все

    кц

    вывод M + R

кон

 

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

нач

знач:=abs(abs(x−3)+abs(x+4)−9)+6

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

return (abs(abs(x−3)+abs(x+4)−9)+6);

}

 

int main()

{

    int a, b, t, M, R;

    a = −20; b = 20;

    M = a; R = F(a);

    for (t = a; t <=b; ++t) {

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M + R;

    return 0;

}

 

Задание 1.6 (ДЕМО-2019, №15989)

Варианты

Текст задания ( )

Какое число будет напечатано в результате работы следующей программы? Для Вашего удобства программа приведена на пяти языках программирования.

 

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

A = −20: B = 20

M = A : R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

F=abs(abs(x−6)+abs(x+6)−16)+2

END FUNCTION

def F(x):

    return(abs(abs(x−6)+abs(x+6)−16)+2)

 

a = −20

b = 20

M = a

R = F(a)

for t in range(a,b+1):

    if F(t) <= R:

        M = t

        R = F(t)

print(M+R)

 

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

var

    a, b, t, M, R: integer;

 

function F(x: integer): integer;

begin

f:=abs(abs(x−6)+abs(x+6)−16)+2;

end;

 

begin

    a := −20; b := 20;

    M := a; R:= F(a)

    for t := a to b do begin

        if F(t) <= R then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M+R);

end.

 

алг

нач

    цел a, b, t, M, R

    a := −20; b := 20

    M := a; R := F(a)

    нц для t от a до b

        если F(t) <= R

            то M := t; R := F(t)

        все

    кц

    вывод M + R

кон

 

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

нач

знач:=abs(abs(x−6)+abs(x+6)−16)+2

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

return (abs(abs(x−6)+abs(x+6)−16)+2);

}

 

int main()

{

    int a, b, t, M, R;

    a = −20; b = 20;

    M = a; R = F(a);

    for (t = a; t <=b; ++t) {

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M + R;

    return 0;

}

 

Задание 1.7 (ДЕМО-2019, №16048)

Варианты

Текст задания ( )

Какое число будет напечатано в результате работы следующей программы? Для Вашего удобства программа приведена на пяти языках программирования.

 

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

A = −20: B = 20

M = A : R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

F=abs(abs(x−6)+abs(x+6)−16)+2

END FUNCTION

def F(x):

    return(abs(abs(x−6)+abs(x+6)−16)+2)

 

a = −20

b = 20

M = a

R = F(a)

for t in range(a,b+1):

    if F(t) <= R:

        M = t

        R = F(t)

print(M+R)

 

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

var

    a, b, t, M, R: integer;

 

function F(x: integer): integer;

begin

f:=abs(abs(x−6)+abs(x+6)−16)+2;

end;

 

begin

    a := −20; b := 20;

    M := a; R:= F(a)

    for t := a to b do begin

        if F(t) <= R then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M+R);

end.

 

алг

нач

    цел a, b, t, M, R

    a := −20; b := 20

    M := a; R := F(a)

    нц для t от a до b

        если F(t) <= R

            то M := t; R := F(t)

        все

    кц

    вывод M + R

кон

 

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

нач

знач:=abs(abs(x−6)+abs(x+6)−16)+2

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

return (abs(abs(x−6)+abs(x+6)−16)+2);

}

 

int main()

{

    int a, b, t, M, R;

    a = −20; b = 20;

    M = a; R = F(a);

    for (t = a; t <=b; ++t) {

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M + R;

    return 0;

}

 

Задание 1.8 (ОСН-2019, №18723)

Варианты

Текст задания ( )

Какое число будет напечатано в результате работы следующей программы? Для Вашего удобства программа приведена на пяти языках программирования.

 

 

БейсикPython

DIM A, B, T, M, R AS INTEGER

A = −13: B = 13

M = A : R = F(A)

FOR T = A TO B

    IF F(T) < R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M

 

FUNCTION F(x)

F=(x*x−9)*(x*x−9)+5

END FUNCTION

def F(x):

return((x*x−9)*(x*x−9)+5)

 

a = −13; b = 13

M = a; R = F(a)

for t in range(a,b+1):

    if F(t) < R:

        M = t; R = F(t)

print(M)

 

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

var

    a, b, t, M, R: integer;

 

function F(x: integer): integer;

begin

f:=(x*x−9)*(x*x−9)+5;

end;

 

begin

    a := −13; b := 13;

    M := a; R:= F(a)

    for t := a to b do begin

        if F(t) < R then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M);

end.

 

алг

нач

    цел a, b, t, M, R

    a := −13; b := 13

    M := a; R := F(a)

    нц для t от a до b

        если F(t) < R

            то M := t; R := F(t)

        все

    кц

    вывод M

кон

 

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

нач

знач:=(x*x−9)*(x*x−9)+5

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

return ((x*x−9)*(x*x−9)+5);

}

 

int main()

{

    int a, b, t, M, R;

    a = −13; b = 13;

    M = a; R = F(a);

    for (t = a; t <=b; ++t) {

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout << M;

    return 0;

}

 

Задание 1.9 (ДЕМО-2018, №13748)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM A, B, T, M, R AS LONG

A = -20: B = 20

M = A: R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

         M = T

         R = F(T)

    END IF

NEXT t

PRINT M+R

 

FUNCTION F (x)

     F = 2*(x*x-1)*(x*x-1)+27

END FUNCTION

def F(x):

     return 2*(x*x-1)*(x*x-1)+27

a = -20; b=20

M=a; R=F(a)

for t in range(a,b+1):

    if (F(t) <= R):

         M=t; R=F(t)

print (M+R)

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

var a, b, t, M, R :longint;

function F(x: longint) : longint;

    begin

         F:= 2*(x*x-1)*(x*x-1)+27;

    end;

begin

     a:=-20; b:=20;

     M:=a; R:=F(a);

     for t:= a to b do begin

         if (F(t) <= R) then begin

             M:=t;

             R:=F(t)

      end

    end;

     write(M+R)

end.

алг

нач

    цел a, b, t, M, R

    a:=-20; b:=20

    M:=a; R:=F(a)

    нц для t от a до b

         если F(t) <= R то

            то

                 M:=t; R:=F(t)

        все

    кц

    вывод M+R

кон

алг цел F(цел x)

нач

    знач :=2*(x*x-1)*(x*x-1)+27

кон

Си++

#include <iostream>

using namespace std;

 

long F(long x) {

     return 2*(x*x-1)*(x*x-1)+27;

}

 

int main() {

     long a = -20, b = 20, M = a, R = F(a);

     for (int t = a; t <= b; ++t) {

         if (F(t)<= R) {

            M = t; R = F(t);

        }

    }

     cout << M + R;

    return 0;

}

 

Задание 1.10 (ОСН-2019, №18800)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM A, B, T, M, R AS LONG

A = -20: B = 20

M = A: R = F(A)

FOR T = A TO B

    IF F(T) < R THEN

         M = T

         R = F(T)

    END IF

NEXT t

PRINT M+R

 

FUNCTION F (x)

     F = 2*(x*x-1)*(x*x-1)+5

END FUNCTION

def f(x):

     return 2*(x*x-1)*(x*x-1)+5

a = -20; b=20

M=a; R=F(a)

for t in range(a,b+1):

    if (F(t) < R):

         M=t; R=F(t)

print (M+R)

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

var a, b, t, M, R :longint;

function F(x: longint) : longint;

    begin

         F:= 2*(x*x-1)*(x*x-1)+5;

    end;

begin

     a:=-20; b:=20;

     M:=a; R:=F(a);

     for t:= a to b do begin

         if (F(t) < R) then begin

             M:=t;

             R:=F(t)

      end

    end;

     write(M+R)

end.

алг

нач

    цел a, b, t, M, R

    a:=-20; b:=20

    M:=a; R:=F(a)

    нц для t от a до b

         если F(t) < R то

            то

                 M:=t; R:=F(t)

        все

    кц

    вывод M+R

кон

алг цел F(цел x)

нач

    знач :=2*(x*x-1)*(x*x-1)+5

кон

Си++

#include <iostream>

using namespace std;

 

long F(long x) {

     return 2*(x*x-1)*(x*x-1)+5;

}

 

int main() {

     long a = -20, b = 20, M = a, R = F(a);

     for (int t = a; t < b; ++t) {

         if (F(t)< R) {

            M = t; R = F(t);

        }

    }

     cout << M + R;

    return 0;

}

 

Подтема 2

Задание 2.1 (ДЕМО-2017, №11357)

Варианты

Текст задания ( )

Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках программирования).

 

БейсикPython

DIM A, B, N, t AS INTEGER

A = -100: B = 100

N = 0

FOR t = A TO B

    IF F(t) <= 0 THEN

        N = N + 1

    END IF

NEXT t

PRINT N

 

FUNCTION F (x)

    F = (x - 16)*(x + 25)

END FUNCTION

def f(x):

    return (x - 16)*(x + 25)

 

a = -100

b = 100

n = 0

 

for t in range(a, b + 1):

    if f(t) <= 0:

        n = n + 1

print(n)

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

var a, b, N, t: integer;

Function F(x: integer):integer;

    begin

        F := (x - 16)*(x + 25)

    end;

begin

    a := -100; b := 100;

    N := 0;

    for t := a to b do begin

        if (F(t) <= 0) then

            N := N + 1

    end;

    write(N)

end.

алг

нач

    цел a, b, N, t

    a := -100; b := 100

    N := 0

    нц для t от a до b

        если F(t) <= 0

            то

                N := N + 1

        все

    кц

    вывод N

кон

алг цел F(цел x)

нач

    знач := (x - 16)*(x + 25)

кон

Си++

#include <iostream>

using namespace std;

int F(int x) {

    return (x - 16)*(x + 25);

}

 

int main() {

    int a, b, N, t;

    a = -100; b = 100;

    N = 0;

    for (t = a; t <= b; t++) {

        if (F(t) <= 0) {

            N++;

        }

    }

    cout « N « endl;

}

 

Подтема 3

Задание 3.1 (ДОСР-2019, №18449)

Варианты

Текст задания ( )

Напишите в ответе число, равное количеству различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 12. Значение k = 12 также включается в подсчёт различных значений k.

 

 

БейсикPython

DIM K, I AS INTEGER

INPUT K

I = 1

WHILE F(I) < K

    I = I + 1

WEND

IF F(I)−K<=K−F(I−1) THEN

    PRINT I

ELSE

    PRINT I – 1

END IF

 

FUNCTION F(N)

    F = N*N*N

END FUNCTION

def f(n):

    return n*n*n

 

k = int(input())

i = 1

while f(i) < k:

    i = i + 1

if f(i)–k <= k–f(i−1):

    print(i)

else:

    print(i−1)

 

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

var k, i : longint;

function f(n: longint) : longint;

begin

    f := n*n*n;

end;

 

begin

    readln(k);

    i := 1;

    while f(i) < k do

        i:= i+1;

    if f(i)−k <= k−f(i−1) then

        writeln(i)

    else writeln(i−1);

end.

 

алг

нач

    цел k, i

    ввод k

    i := 1

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

        i := i + 1

    кц

    если f(i)−k <= k−f(i−1)

    то вывод i

    иначе вывод i−1

    все

кон

 

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

нач

        знач := n * n * n

кон

 

С++

#include <iostream>

using namespace std;

 

int F(int n){

    return n*n*n;

}

int main(){

int i, k;

    cin >> k;

    i = 1;

    while(F(i) < k) i=i+1;

    if(F(i)−k<=k−F(i−1))

        cout << i;

    else

        cout << (i − 1);

    return 0;

}

 

Задание 3.2 (ДОСР-2019, №18090)

Варианты

Текст задания ( )

Напишите в ответе число, равное количеству различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 35. Значение k = 35 также включается в подсчёт различных значений k.

 

 

БейсикPython

DIM K, I AS INTEGER

INPUT K

I = 1

WHILE F(I) < K

    I = I + 1

WEND

IF F(I)−K<=K−F(I−1) THEN

    PRINT I

ELSE

    PRINT I – 1

END IF

 

FUNCTION F(N)

    F = N*N*N

END FUNCTION

def f(n):

    return n*n*n

 

k = int(input())

i = 1

while f(i) < k:

    i = i + 1

if f(i)–k <= k–f(i−1):

    print(i)

else:

    print(i−1)

 

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

var k, i : longint;

function f(n: longint) : longint;

begin

    f := n*n*n;

end;

 

begin

    readln(k);

    i := 1;

    while f(i) < k do

        i:= i+1;

    if f(i)−k <= k−f(i−1) then

        writeln(i)

    else writeln(i−1);

end.

 

алг

нач

    цел k, i

    ввод k

    i := 1

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

        i := i + 1

    кц

    если f(i)−k <= k−f(i−1)

    то вывод i

    иначе вывод i−1

    все

кон

 

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

нач

        знач := n * n * n

кон

 

С++

#include <iostream>

using namespace std;

 

int F(int n){

    return n*n*n;

}

int main(){

int i, k;

    cin >> k;

    i = 1;

    while(F(i) < k) i=i+1;

    if(F(i)−k<=k−F(i−1))

        cout << i;

    else

        cout << (i − 1);

    return 0;

}

 

Задание 3.3 (ДОСР-2017, №13367)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < K

    I = I + 1

WEND

IF F(I)-K <= K-F(I-1) THEN

    PRINT I

ELSE

    PRINT I-1

END IF

FUNCTION F(N)

    F = N * N * N

END FUNCTION

def f(n):

    return n*n*n

i = 1

k = int(input())

while f(i) < k:

    i+=1

if (f(i)-k <= k-f(i-1)):

    print (i)

else:

    print (i - 1)

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

var

    k, i : longint;

 

function f(n: longint) : longint;

begin

    f := n * n * n;

end;

begin

    readln(k);

    i := 1;

    while f(i) < k do

        i := i+1;

    if f(i)-k <= k-f(i-1) then

        writeln(i)

    else

        writeln(i-1);

end.

алг

нач

    цел i, k

    ввод k

    i := 1

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

        i := i + 1

    кц

    если f(i)-k <= k-f(i-1) то

    вывод i

    иначе

        вывод i-1

    все

кон

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

нач

    знач := n * n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return n * n * n;

}

 

int main()

{

    long k, i;

    cin >> k;

    i = 1;

    while (f(i) < k)

        i++;

    if (f(i)-k <= k-f(i-1)){

        cout << i << endl;

    } else {

        cout << i-1 << endl;

    }

}

 

Задание 3.4 (ДОСР-2018, №15861)

Варианты

Текст задания ( )

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

 

БейсикPython

    DIM K, I AS LONG

    INPUT K

    I = 12

    WHILE I > 0 AND F(I) > K

        I = I − 1

    WEND

    PRINT I

 

    FUNCTION F(N)

        F = N * N * N

    END FUNCTION

def F(n):

    return n * n * n

 

k = int(input())

i = 12

while (i > 0 and F(i) > k):

    i = i − 1

print (i)

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

var k, i :longint;

function F(n: longint) : longint;

begin

    F := n * n * n;

end;

 

begin

     readln(k);

     i := 12;

    while (i > 0) and (F(i) > k) do

         i := i − 1;

    writeln(i);

end.

алг

нач

    цел i, k

    ввод k

    i := 12

    нц пока i > 0 и f(i) > k

        i := i − 1

    кц

    вывод i

кон

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

нач

    знач := n * n * n

кон

Си++

#include <iostream>

using namespace std;

 

long F(long n)

{

    return n * n * n

}

 

int main()

{

    int k, i;

    cin >> k;

    i = 12;

    while (i > 0 && F(i) > k)

        i−−

    cout << i;

return 0;

}

 

Задание 3.5 (ДОСР-2020, №23919)

Варианты

Текст задания ( )

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

 

Бейсик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 = 2*N + 2

END FUNCTION

def f(n):

  return n*n*n

 

def g(n):

  return 2*n + 2

 

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 := 2*n + 2;

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)

нач

  знач := 2*n + 2

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

  return n * n * n;

}

 

long g(long n) {

  return 2*n + 2;

}

 

int main()

{

  long k, i;

  cin >> k;

  i = 1;

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

    i++;

  cout << i << endl;

  return 0;

}

 

Задание 3.6 (ДОСР-2020, №25851)

Варианты

Текст задания ( )

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

 

Бейсик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 = 2*N + 3

END FUNCTION

def f(n):

  return n*n*n

 

def g(n):

  return 2*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 := 2*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)

нач

  знач := 2*n + 3

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

  return n * n * n;

}

 

long g(long n) {

  return 2*n + 3;

}

 

int main()

{

  long k, i;

  cin >> k;

  i = 1;

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

    i++;

  cout << i << endl;

  return 0;

}

 

Задание 3.7 (ОСН-2016, №11317)

Варианты

Текст задания ( )

Напишите в ответе число, которое выведет программа в качестве ответа.

 

 

БейсикPython

DIM I AS LONG

I = 1

WHILE F(I) <= G(I)

    I = I*2

WEND

PRINT I

 

FUNCTION F(N)

    F = N * N

END FUNCTION

 

FUNCTION G(N)

    G = N*2000 + 3

END FUNCTION

def f(n):

    return n*n

 

def g(n):

    return n*2000 + 3

 

i = 1

while f(i) <= g(i):

    i*=2

print(i)

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

var

    i : longint;

 

function f(n: longint): longint;

begin

    f := n * n;

end;

 

function g(n: longint): longint;

begin

    g := n*2000 + 3;

end;

 

begin

    i := 1;

    while f(i) <= g(i) do

        i := i*2;

    writeln(i)

end.

алг

нач

    цел i

    i := 1

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

        i := i*2

    кц

    вывод i

кон

 

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

нач

    знач := n * n

кон

 

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

нач

    знач := n*2000 + 3

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return n * n;

}

 

long g(long n) {

    return n*2000 + 3;

}

 

int main()

{

    long i;

    i = 1;

    while(f(i) <= g(i))

        i = i*2;

    cout << i << endl;

    return 0;

}