Вычисляется сумма цифр первого числа и сумма цифр второго числа. Оба числа двузначны, то есть в каждом числе две цифры. Максимальная цифра в десятичной системе счисления - это 9, то есть сумма двух цифр не может быть больше 18-ти (9+9=18).
Суммы цифр записаны в порядке неубывания, то есть в порядке возрастания, или равенства.
Рассмотрим каждый вариант ответа:
211 - мы можем разделить как суммы 2 и 11, оба этих числа могут быть суммой цифр двузначного числа, т.к. они не больше 18-ти. Например, 20 => 2+0=2, 29 => 2+9=11. Они записаны в порядке возрастания, что подходит под условие задачи.
1717 - можем разделить как 17 и 17, оба числа не больше 18-ти, значит они могут быть суммой цифр двузначного числа. Записаны они не в порядке убывания, что подходит под условие задачи.
1817 - можем разделить как 1 817, 18 17, или 171 7. Варианты 1-817 и 171-7 нам не подходят, т.к. содержат числа, которые больше 18-ти, т.е. такие, которые не могут быть суммой двух цифр. Вариант 18-17 нам так же не подходит, т.к. числа записаны в порядке убывания.
1718 - можем разделить как 17 и 18, оба числа могут быть суммой двух цифр, записаны в порядке возрастания, подходят.
1719 - можем разделить как 1-719, 17-19, 171-9, все три варианта содержат числа, которые больше 18, значит этот вариант нам не подходит.
219 - можем разделить как 2-19 или 21-9, содержат числа, которые больше 18, не подохдят.
21 - можем разделить как 2 и 1, они бы нам подошли (к примеру, сумма цифр в числе 20 равна 2, в числе 10 равна 1), но записаны в порядке убывания (2 1), что не соответствует условию, не подходит.
10 - можем разделить как 1 0, не подходит, т.к. и записаны в порядке убывания, и 0 не может быть суммой цифр двузначного числа.
Получается, нам подходят числа 211, 1717, 1718, всего три числа. ответ 3
// PascalABC.NET 3.2, сборка 1377 от 19.01.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ReadlnString('Строка:'); // общая часть // #1 var c1,c2:char; Write('Введите БЕЗ ПРОБЕЛА исходный и заменяющий символы: '); Readln(c1,c2); s:=s.Replace(c1,c2); s.Println; // #2 s:=s.Where(c->not (c in ['0'..'9'])).JoinIntoString; s.Println; // #3 var k:=ReadInteger('k='); s:=s.Batch(k).SelectMany(c->c+NewLine).JoinIntoString(''); s.Println end.
Пример Строка: Площадь Чёрного моря 422000 кв.км, Наибольшая глубина 2210 м, средняя — 1240 м. Введите БЕЗ ПРОБЕЛА исходный и заменяющий символы: гЪ Площадь ЧёрноЪо моря 422000 кв.км, Наибольшая Ълубина 2210 м, средняя — 1240 м. Площадь ЧёрноЪо моря кв.км, Наибольшая Ълубина м, средняя — м. k= 35 Площадь ЧёрноЪо моря кв.км, Наибол ьшая Ълубина м, средняя — м.
Оба числа двузначны, то есть в каждом числе две цифры.
Максимальная цифра в десятичной системе счисления - это 9, то есть сумма двух цифр не может быть больше 18-ти (9+9=18).
Суммы цифр записаны в порядке неубывания, то есть в порядке возрастания, или равенства.
Рассмотрим каждый вариант ответа:
211 - мы можем разделить как суммы 2 и 11, оба этих числа могут быть суммой цифр двузначного числа, т.к. они не больше 18-ти.
Например, 20 => 2+0=2, 29 => 2+9=11. Они записаны в порядке возрастания, что подходит под условие задачи.
1717 - можем разделить как 17 и 17, оба числа не больше 18-ти, значит они могут быть суммой цифр двузначного числа. Записаны они не в порядке убывания, что подходит под условие задачи.
1817 - можем разделить как 1 817, 18 17, или 171 7. Варианты 1-817 и 171-7 нам не подходят, т.к. содержат числа, которые больше 18-ти, т.е. такие, которые не могут быть суммой двух цифр. Вариант 18-17 нам так же не подходит, т.к. числа записаны в порядке убывания.
1718 - можем разделить как 17 и 18, оба числа могут быть суммой двух цифр, записаны в порядке возрастания, подходят.
1719 - можем разделить как 1-719, 17-19, 171-9, все три варианта содержат числа, которые больше 18, значит этот вариант нам не подходит.
219 - можем разделить как 2-19 или 21-9, содержат числа, которые больше 18, не подохдят.
21 - можем разделить как 2 и 1, они бы нам подошли (к примеру, сумма цифр в числе 20 равна 2, в числе 10 равна 1), но записаны в порядке убывания (2 1), что не соответствует условию, не подходит.
10 - можем разделить как 1 0, не подходит, т.к. и записаны в порядке убывания, и 0 не может быть суммой цифр двузначного числа.
Получается, нам подходят числа 211, 1717, 1718, всего три числа. ответ 3
// Внимание! Если программа не работает, обновите версию!
begin
var s:=ReadlnString('Строка:'); // общая часть
// #1
var c1,c2:char;
Write('Введите БЕЗ ПРОБЕЛА исходный и заменяющий символы: ');
Readln(c1,c2);
s:=s.Replace(c1,c2); s.Println;
// #2
s:=s.Where(c->not (c in ['0'..'9'])).JoinIntoString; s.Println;
// #3
var k:=ReadInteger('k=');
s:=s.Batch(k).SelectMany(c->c+NewLine).JoinIntoString(''); s.Println
end.
Пример
Строка: Площадь Чёрного моря 422000 кв.км, Наибольшая глубина 2210 м, средняя — 1240 м.
Введите БЕЗ ПРОБЕЛА исходный и заменяющий символы: гЪ
Площадь ЧёрноЪо моря 422000 кв.км, Наибольшая Ълубина 2210 м, средняя — 1240 м.
Площадь ЧёрноЪо моря кв.км, Наибольшая Ълубина м, средняя — м.
k= 35
Площадь ЧёрноЪо моря кв.км, Наибол
ьшая Ълубина м, средняя — м.