Y-Y в среднем разряде, конечно же, даст 0. Можно ли считать, что Х=0? Нет, по условию X>Y, а Y не может быть отрицательным. Остается предположить, что от Y для вычитания в младшем разряде "заняли единичку", а для вычитания в среднем разряде тоже "заняли единичку" в старшем разряде. В семиричной системе единичка - это 7 (как и в десятичной - 10). Получаем следующие соотношения: Y+7-X=Z младший разряд Y+7-1-Y=X средний разряд ⇒ X=6 X-Y-1=Z старший разряд
Подставляем 6 вместо Х в остальные соотношения Y+7-6=Z; Y+1=Z 6-Y-1=Z; 5-Y=Z Правые части равны Z, приравниваем левые части Y+1=5-Y; 2Y=4 ⇒ Y=2
// PascalABC.NET 3.2, сборка 1338 от 16.11.2016 begin // Вводим строку с клавиатуры, приводим буквы к строчным, // разбиваем на слова по пробелу и помещаем их в массив aW var aW:=ReadlnString('->').ToLower.ToWords; // Пропускаем массив через фильтр, оставляющий слова, содержащие // русскую букву "а" и подсчитываем, сколько слов через него. // Полученное количество выводим. Writeln('Слов с "а": ',aW.Where(w->Pos('а',w)>0).Count) end.
Пример -> Наша Таня громко плачет: уронила в речку мячик Слов с "а": 4
-YYX
ZXZ
Y-Y в среднем разряде, конечно же, даст 0. Можно ли считать, что Х=0? Нет, по условию X>Y, а Y не может быть отрицательным. Остается предположить, что от Y для вычитания в младшем разряде "заняли единичку", а для вычитания в среднем разряде тоже "заняли единичку" в старшем разряде. В семиричной системе единичка - это 7 (как и в десятичной - 10). Получаем следующие соотношения:
Y+7-X=Z младший разряд
Y+7-1-Y=X средний разряд ⇒ X=6
X-Y-1=Z старший разряд
Подставляем 6 вместо Х в остальные соотношения
Y+7-6=Z; Y+1=Z
6-Y-1=Z; 5-Y=Z
Правые части равны Z, приравниваем левые части
Y+1=5-Y; 2Y=4 ⇒ Y=2
Осталось найти Z: Z=Y+1; Z=2+1 ⇒ Z=3
Итак, X=6, Y=2, Z=3.
YYX=226₇, XYY=622₇, ZXZ=363₇
622₇ - 226₇ = 363₇ - это расшифрованный пример.
begin
// Вводим строку с клавиатуры, приводим буквы к строчным,
// разбиваем на слова по пробелу и помещаем их в массив aW
var aW:=ReadlnString('->').ToLower.ToWords;
// Пропускаем массив через фильтр, оставляющий слова, содержащие
// русскую букву "а" и подсчитываем, сколько слов через него.
// Полученное количество выводим.
Writeln('Слов с "а": ',aW.Where(w->Pos('а',w)>0).Count)
end.
Пример
-> Наша Таня громко плачет: уронила в речку мячик
Слов с "а": 4