Шаблоном размера п назовем строку длины п. каждый из символов которой входит в множество
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c,d,e, f, 9, ?
Шаблоны преобразуются в строки из цифр по следующим правилам:
1. символы от 0 до 9 могут быть преобразованы только сами в себя;
2. Символ а может преобразован в любой из символов 0,1, 2, 3;
3. Символ б может преобразован в любой из символов 1,2,3,4;
4. символ с может преобразован в любой из символов 2,3,4,5;
5. символ d может преобразован в любой из символов 3,4,5,6;
6. символ е может преобразован в любой из символов 4,5,6,7;
7. Символ fможет преобразован в любой из символов 5,6,7,8;
8. Символ g может преобразован в любой из символов 6,7,8,9;
9. символ ? может преобразован в любой из символов от 0 до 9;
Даны два шаблона: Pi и ру. Рассмотрим множество S1 строк, которые могут быть получены из
Рі по описанным правилам, и множество S2 строк, которые могут быть получены из ру.
Необходимо найти количество строк, входящих в оба этих множества.
На питоне
problems : array [0..9] of String = ('x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10', 'x1+5=10','x1+5=10', 'x1+5=10', 'x1+5=10');
answers : array [0..9] of String = ('-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5', '-5');
var
countOfAnswers, counter: integer;
userAnswer: String;
begin
countOfAnswers := 0;
for counter:=0 to 9 do
begin
write('Введите ответ уравнения ', problems[counter], ' : ');
readln(userAnswer);
if userAnswer = answers[counter] then Inc(countOfAnswers);
end;
if countOfAnswers > 8 then writeln('Отлично')
else if countOfAnswers > 5 then writeln('Хорошо')
else writeln('Плохо');
end.