Пронумеруем мнения.
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. ложным быть не может.
Окончательно: Андрей первый, Василий второй, Валерий третий, Сергей четвертый (во всяком случае, не вошел в первую тройку).
Не трундая задача. Приступим.
Пусть а - первое число, б - второе число, с - третье число.
Четное число - 2n
If (a+b+c) div 2 = 0 then writeln ('Их сумма четное число') else writeln ('Их сумма нечетное число');
<em>// PascalABC.NET 3.2, сборка 1431 от 28.04.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
(var s,var p):=(int64(0),BigInteger(1));
foreach var x in ReadSeqIntegerWhile(k->k<>0) do
if x>0 then s+=x
else p*=x;
Writeln('S=',s,', П=',p)
end.
<u>Пример</u>
24 -15 -42 18 35 -14 7 0 12 -206 138 -232 0
S=84, П=-8820
<em>Замечание:</em> числа 12 -206 138 -232 0 после нуля введены намерено, чтобы показать, что отсечение приема данных происходит по первому нулю.
число между точками не должно превышать 255. ответ 181.175.161.50 или ГАБВ
Чтобы передавать информацию разного рода между удаленными устройствами связи