Задания
Версия для печати и копирования в MS Word
Тип 6 № 43639
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, при ко­то­ром для ука­зан­ных вход­ных дан­ных про­грам­ма на­пе­ча­та­ет «NO» три раза.

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

Ре­ше­ние.

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

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

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

 

Ответ: 6.

 

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

def f(s, t, A):

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

return 0

else:

return 1

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):

count = 0

for i in range(9):

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

if count == 3:

print(A)

break


-------------
Дублирует задание № 43525.
Источники: