1)условное обозначение:
Д-девочка
Б-блондин
Л-любит математику
ДБ-девочки блондинки
БЛ-блондины,любящие математику
ДЛ-девочки,любящие математику
ДБЛ-блондинка,которая любит математику
Д=20-11-5-1=3
Б=24-1-11-11=1
Л=17-5-1-11=0
ДБ=12-1=11
БЛ=12-1=11
ДЛ=6-1=5
ДБЛ=1
всего человек в классе:Д+Б+Л+ДБ+БЛ+ДЛ+ДБЛ=3+1+0+11+11+5+1=32
Ответ:32 человека всего в классе.
Var N, i: integer; // N - переменная хранения количества чисел, которое введет пользователь
A: array[1..20] of integer; // массив, содержащий САМИ ЧИСЛА, которые введет пользователь
begin
write('Сколько чисел вы собираетесь ввести? ');
readln(N);
for i := 1 to N do begin
write('Введите ', i, ' число: '); // ввод чисел
readln( A[ i ] );
end;
write('Из них числа от 20 до 75, кратные 4: ');
for i := 1 to N do begin
if ( A[ i ] >= 20 ) and ( A[ i ] <= 75 ) then // проверяем в каком промежутке лежит число
if ( ( A[ i ] mod 4 ) = 0 ) then write( A[ i ], ' '); // если число меньше 75 и больше 20, тогда проверяем кратно ли оно четырем. Если да, то выводим его
end;
<span>end.</span>
Пронумеруем мнения.
1.1. Валерий будет третьим. 1.2. Василий будет первым.
2.1. Сергей будет вторым. 2.2. Валерий будет третьим.
3.1. Андрей будет первым. 3.2. Сергей будет третьим.
Допустим, 1.1 истинно, тогда 1.2 ложно.
Если 1.1 истинно, то истинно и 2.2, тогда 2.1 ложно.
Если 1.1. истинно, то 3.2. ложно, тогда 3.1. истинно.
Получаем распределение мест: Валерий третий (1.1.), Андрей первый (3.1.), Сергей не второй, следовательно, второй Василий (методом исключения).
Противоречий нет.
Проверим альтернативный вариант.
Допустим, 1.1. ложно, тогда 1.2. истинно.
Если 1.1. ложно, то и 2.2. ложно, тогда 2.1. истинно.
Если 2.1. истинно, то 3.2 ложно, тогда 3.1 истинно.
Но истинные 1.2. и 3.1. противоречат друг-другу, следовательно наше допущение неверно и 1.1. ложным быть не может.
Окончательно: Андрей первый, Василий второй, Валерий третий, Сергей четвертый (во всяком случае, не вошел в первую тройку).