Ниже приведена программа, записанная на пяти языках программирования.
| Бейсик | 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 div 2 = k then writeln ('ДА') else writeln ('НЕТ') end.
| алг нач цел s, k ввод s ввод k если div(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, 1); (8, 4); (14, 10); (20, 1); (7, 3); (10, 5); (10, 2); (4, 1); (1, 0).
Сколько было запусков, при которых программа напечатала «ДА»?
Заметим, что программа напечатает «ДА», если переменная k будет равна результату целочисленного деления s на 2. Значит, было 4 запуска, при которых программа напечатала «ДА». В качестве значений переменных s и k в этих случаях вводились следующие пары чисел:
(8, 4); (7, 3); (10, 5); (1, 0).
Ответ: 4.
Примечание.
В программе используется операция деления нацело. Результатом этой операции является целая часть частного. Так, например, 7 div 2 = 3.
Приведем другое решение на языке Python.
def f(s, k):
if s // 2 == k:
return 1
else:
return 0
a = ((1, 1), (8, 4), (14, 10), (20, 1), (7, 3), (10, 5), (10, 2), (4, 1), (1, 0))
kol = 0
for i in range(9):
kol += f(a[i][0], a[i][1])
print(kol)



