Разведчик выяснил, что ключ к замку от сейфа состоит из трёх символов, причём могут использоваться буквы из алфавита {A, B, C, D}. Две одинаковые буквы не могут стоять рядом. Рядом с буквой D обязательно должна стоять буква A. Если в ключе есть буква B, то там не может быть буквы C. Постройте дерево перебора вариантов.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadSeqIntegerWhile(x->x<=100).ToArray;
Writeln('Количество четных чисел равно ',a.Where(x->x.IsEven).Count);
a.Transform(x->x.IsOdd?x*x:x); a.Println
end.
Пример
35 24 38 83 110
Количество четных чисел равно 2
1225 24 38 6889
begin
Writeln('S=',ReadSeqIntegerWhile(x->x>=0).Select(x->x mod 10).Sum)
end.
Пример
16 24 19 21 45 0 23 -21
S=28
begin
var n:=ReadInteger('n=');
var St:=new Stack <integer>;
while n>0 do begin
St.Push(n mod 10);
n:=n div 10
end;
var a:=St.ToArray;
a.Println(',');
Writeln('Сумма цифр: ',a.Sum);
Writeln('Сумма нечетных цифр: ',a.Where(x->x.IsOdd).Sum);
Writeln('Сумма старшего и младшего разрядов: ',a.First+a.Last);
end.
Пример
n= 53214212
5,3,2,1,4,2,1,2
Сумма цифр: 20
Сумма нечетных цифр: 10
Сумма старшего и младшего разрядов: 7