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

Ниже при­ве­де­на про­грам­ма, за­пи­сан­ная на пяти язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сикPython

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s > A OR t > 11 THEN

    PRINT "YES"

ELSE

     PRINT "NO"

ENDIF

s = int(input())

t = int(input())

A = int(input())

if (s > A) or (t > 11):

    print("YES")

else:

    print("NO")

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

var s,t,A: integer;

begin

    readln(s);

    readln(t);

    readln(A);

    if (s > A) or (t > 11)

        then

writeln ('YES')

        else

writeln ('NO')

end.

алг

нач

цел s, t, A

ввод s

ввод t

ввод A

если s > A или t > 11

    то вывод "YES"

    иначе вывод "NO"

все

кон

С++

#include <iostream>

using namespace std;

int main() {

    int s, t, A;

    cin >> s;

    cin >> t;

    cin >> A;

    if(s > A) or (t > 11)

        cout << "YES" << endl;

    else

         cout << "NO" << endl;

    return 0;

}

 

Было про­ве­де­но 9 за­пус­ков про­грам­мы, при ко­то­рых в ка­че­стве зна­че­ний пе­ре­мен­ных s и t вво­ди­лись сле­ду­ю­щие пары чисел:

(−9, 11); (2, 7); (5, 12); (2; −2); (7, −9); (12, 6); (9; −1); (7, 11); (11, −5).

Ука­жи­те наи­боль­шее целое зна­че­ние па­ра­мет­ра A, при ко­то­ром для ука­зан­ных вход­ных дан­ных про­грам­ма на­пе­ча­та­ет «YES» че­ты­ре раза.

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

Ре­ше­ние.

За­ме­тим, что про­грам­ма на­пе­ча­та­ет «YES», если пе­ре­мен­ная t будет боль­ше 11, а пе­ре­мен­ная s будет боль­ше А.

Из пер­вой части усло­вия по­лу­ча­ем, что при вводе зна­че­ний s и t (5, 12) про­грам­ма на­пе­ча­та­ет «YES» вне за­ви­си­мо­сти от зна­че­ния A. При от­ри­ца­тель­ных зна­че­ни­ях A про­грам­ма будет вы­во­дить «YES» боль­ше трех раз.

За­ме­тим, что при −9 ≤ A ≤ 1 про­грам­ма на­пе­ча­та­ет «YES» во­семь раз, при 2 ≤ A ≤ 6 про­грам­ма на­пе­ча­та­ет «YES» пять раз, при 7 ≤ A ≤ 8 про­грам­ма будет пе­ча­тать «YES» че­ты­ре раза, при 9 ≤ A ≤ 10 про­грам­ма будет пе­ча­тать «YES» три раза, при A  =  11 про­грам­ма будет пе­ча­тать «YES» два раза, а при A  =  12 про­грам­ма будет пе­ча­тать «YES» один раз. Таким об­ра­зом, ответ  — 8.

 

Ответ: 8.

 

При­ве­дем дру­гое ре­ше­ние на языке Python.

def f(s, t, A):

if (s > A) or (t > 11):

return 1

else:

return 0

a = ((-9, 11), (2, 7), (5, 12), (2, -2), (7, -9), (12, 6), (9, -1), (7, 11), (11, -5))

kol = 0

for A in range(100, 0, -1):

count = 0

for i in range(9):

count += f(a[i][0], a[i][1], A)

if count == 4:

print(A)

break

При­ме­ча­ние.

Ло­ги­че­ский опе­ра­тор «OR» в про­цес­се вы­пол­не­ния при­ни­ма­ет зна­че­ние «true», если x или y равен true; в про­тив­ном слу­чае  —  «false».

 

При­ве­дем ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

line = "(-9,11);(2,7);(5,12);(2,-2);(7,-9);(12,6);(9,-1);(7,11);(11,-5)"

pairs = line.split(";")

for a in range(100, -100, -1):

r = []

for p in pairs:

exec("s,t = " + p)

r.append((s > a) or (t > 11))

if r.count(True) == 4:

print(a)

break


Аналоги к заданию № 43583: 43353 43428 43444 ... Все

Источник: ОГЭ−2025. Ос­нов­ная волна 06.06.2025. Санкт-Пе­тер­бург. Ва­ри­ант 2512