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

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

 

Бей­сикPython

DIM k, s AS INTEGER

INPUT s

INPUT k

IF s >= 2 * k THEN

    PRINT "ДА"

ELSE

     PRINT "НЕТ"

END IF

s = int(input())

k = int(input())

if s >= 2 * k:

    print("ДА")

else:

    print("НЕТ")

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

var s, k: integer;

begin

    readln(s);

    readln(k);

    if s >= 2 * k

        then writeln ('ДА')

        else writeln ('НЕТ')

end.

алг

нач

цел s, k

ввод s

ввод k

если s >= 2 * k

    то вывод "ДА"

    иначе вывод "НЕТ"

все

кон

С++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    cin >> s;

    cin >> k;

    if (s >= 2 * k)

        cout << "ДА";

    else

         cout << "НЕТ";

    return 0;

}

 

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

(1, 2); (8, 4); (6, −12); (−5, −5); (3, 11); (—10, 12); (—10, −2); (4, 1); (2, 5).

Сколь­ко было за­пус­ков, при ко­то­рых про­грам­ма на­пе­ча­та­ла «ДА»?

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

Ре­ше­ние.

За­ме­тим, что про­грам­ма на­пе­ча­та­ет «ДА», если пе­ре­мен­ная s будет боль­ше или равна 2k. Зна­чит, было 4 за­пус­ка, при ко­то­рых про­грам­ма на­пе­ча­та­ла «ДА». В ка­че­стве зна­че­ний пе­ре­мен­ных s и k в этих слу­ча­ях вво­ди­лись сле­ду­ю­щие пары чисел:

(8, 4); (6, −12); (−5, −5); (4, 1).

Ответ: 4.

 

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

def f(s, k):

if s >= 2 * k:

return 1

else:

return 0

 

a = ((1, 2), (8, 4), (6, -12), (-5, -5), (3, 11), (-10, 12), (-10, -2), (4, 1), (2, 5))

kol = 0

for i in range(9):

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

print(kol)


Аналоги к заданию № 18275: 18290 Все

Раздел кодификатора ФИПИ: 1.3.1 Об­ра­бот­ка ин­фор­ма­ции. Ал­го­рит­мы и их свой­ства.