Подумал-подумал, ничего не понял. Составил программу, производящую указанные преобразования, посмотрел сначала полный список полученных чисел (и промежуточных сумм и чисел), затем- только для чисел, подходящих по условиям задачи. Тогда, понемногу дошло:
Сначала мы имеем трёхзначное (от 100 до 999) число вида:
abc
где a,b,c -это цифры, составляющие это число
Эти цифры должны быть в таком диапазоне:
1 ≤ a ≤ 9; 0 ≤ b ≤ 9; 0 ≤ c ≤ 9
Далее, производим сложение цифр по формулам:
d = a + b; e = b + c
При этом получаем числа d,e в диапазоне:
1 ≤ d ≤ 18; 0 ≤ e ≤ 18
Учитывая, что из d,e нужно составить трёхзначное число, то либо d либо e нужны однозначные.
Получаем два варианта, в которых d,e должны быть в таких диапазонах:
1) 1 ≤ d ≤ 9; 10 ≤ e ≤ 18
2) 10 ≤ d ≤ 18; 1 ≤ e ≤ 9
Далее, большее число у нас пойдёт вторым, отсюда мы получим трёхзначное число вида:
(1÷9)(10÷18)
(первая цифра от 0 до 9, вторая и третья цифры: это число от 10 до 18)
Либо, его можно записать как:
(1÷9)1(0÷8)
Это число вышло из чёрного ящика в первый раз.
Кидаем его ещё раз, и видим, что сумма двух последних цифр всегда будет однозначным числом.
А значит, чтобы получить на выходе трёхзначное число, нам нужна двузначная сумма первых двух цифр.
Отсюда получаем, что первая цифра должна быть только 9.
В результате, мы получим две суммы: 10 и (1÷9)
Потом большая из сумм отправляется в конец и мы получим трёхзначное число вида:
(1÷9)10
Это число вышло из чёрного ящика во второй раз.
Последняя его цифра- всегда ноль.
Вот, для примера эти расчёты для некоторых подходящих чисел (все не буду, их аж 81 штука).
В формате (нач.число, две суммы, выход1, две суммы, выход2 (2 раза)):
182 9 10 910 10 1 110 110
183 9 11 911 10 2 210 210
184 9 12 912 10 3 310 310
185 9 13 913 10 4 410 410
186 9 14 914 10 5 510 510
187 9 15 915 10 6 610 610
188 9 16 916 10 7 710 710
189 9 17 917 10 8 810 810
190 10 9 910 10 1 110 110
273 9 10 910 10 1 110 110
274 9 11 911 10 2 210 210
...
954 14 9 914 10 5 510 510
963 15 9 915 10 6 610 610
972 16 9 916 10 7 710 710
981 17 9 917 10 8 810 810
990 18 9 918 10 9 910 910
Алфавит языка
Основные символы языка — буквы, цифры и специальные символы — составляют его алфавит. Обычно язык программирования включает следующий набор основных символов:
строчные и прописные буквы латинского и национального алфавитов
цифры
знаки операций: + — * / = < : @ & |
символ подчеркивания _ и пробела
ограничители и разделители: . , ' ( ) [ ] { }
специальные символы: ^ # $ и др.
С символов алфавита записываются служебные слова, которые составляют словарь языка.
Примеры служебных слов
Алгоритмический язык Бейсик Паскаль
алг арг рез нач кон цел нат лит таб если то иначе пока выбор при INTEGER STRING IF THEN ELSE GOTO WHILE LOOP FOR TO NEXT begin end var const if then else goto while until for repeat
Элементарные конструкции языка программирования включают в себя имена, числа и строки.
Именами (идентификаторами) называют элементы языка — константы, метки, типы, переменные, процедуры, функции, модули, объекты. Имя — это последовательность букв н цифр, начинающаяся с буквы. В именах может использоваться символ подчеркивание. Имя может содержать произвольное количество символов, но в большинстве языков значащими являются только первые несколько (от 8 до нескольких десятков) символов.
В языке программирования не разрешается использовать в качестве имен служебные слова и стандартные имена, которыми названы стандартные константы, типы, процедуры, функции.
Для улучшения наглядности программы в нее могут вставляться пробелы. По крайней мере, один пробел, требуется вставить между двумя последовательными именами, числами или служебными и стандартными именами. Пробелы нельзя использовать внутри имен и чисел.
Примеры имен языка программирования: i В1 Counter BigNumber O1d_Value.
Числа в языке программирования обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например:
254 -31 9841 +732
Действительные числа записываются в форме с десятичной точкой:
42.1 0.31 -0.809 5.0
или в форме с использованием десятичного порядка, который изображается буквой Е:
2Е6 = 2 * 106 = 2 000 000
-1.23E 3 = -1.23 * 103 = -1230
58.2Е-5 = 58.2 * 10-5 = 0.000582
Некоторые языки программирования допускают запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатеричной системе счисления:
Бейсик: &H0F&, &HD1ЗА&
Паскаль: $F7 $50 $CDE0
Строки в языке программирования — это последовательность символов, записанная между кавычками.
Бейсик: «А» «Строка» «String» «Пример строки» «Компьютер computer»
Паскаль: 'А' 'Строка' 'String' 'Пример строки' 'Компьютер computer'
Объяснение: