Напишите программу, которая в последовательности целых чисел определяет их сумму и количество четных чисел, кратных 5. Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 - признак окончания ввода, не входит в последовательность) Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чётных чисел кратных 5. Для записи программы используйте приведенные переменные:
var a, n: integer
begin
n:=0
readln (a)
...
writeln(n)
end
1 (истинное высказывание)
Объяснение:
((2*2=4) V (3*3=10)) & ((2*2=5) V (3*3=9)) = (1 V 0) & (0 V 1) = 1 & 1 = 1
(2*2=4) = 1 (истинное высказывание, т.к. 2 * 2 = 4)
(3*3=10) = 0 (ложное высказывание, т.к. 3 * 3 ≠ 10)
(2*2=5) = 0 (ложное высказывание, т.к. 2 * 2 ≠ 5)
(3*3=9) = 1 (истинное высказывание, т.к. 3 * 3 = 9)
Общий порядок действий:
1) скобки
2) НЕ (¬, черта над выражением) - значение противоположно исходному высказыванию (здесь нет)
3) И (&, ∧) - истинно, когда оба исходных высказывания истинны
4) ИЛИ (∨) - ложно, когда оба исходных высказывания ложны
** (* - любой из символов В или С)
*А*
ААА*АА*
АА*ААА*
А**
** (пока 6 вариантов)
Далее - аналогично:
**А
ААА*А*А
АА*АА*А
А*ААА*А
**А (ещё 5 вариантов)
ААА**АА
АА*А*АА
А*АА*АА
*ААА*АА (ещё 4 варианта)
АА**ААА
А*А*ААА
*АА*ААА (ещё 3 варианта)
А**
*А* (ещё 2)
** (ещё 1)
Итого: 6+5+4+3+2+1=21
Так как на месте * могут быть любые из 2 символов В или С, то это даст ещё по 4 варианта для каждого случая.
Можно здесь, конечно, комбинаторику вспомнить.
Итого: 21*4 = 84