Подумал-подумал, ничего не понял. Составил программу, производящую указанные преобразования, посмотрел сначала полный список полученных чисел (и промежуточных сумм и чисел), затем- только для чисел, подходящих по условиям задачи. Тогда, понемногу дошло:
Сначала мы имеем трёхзначное (от 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
1) а:=b(13)+a(-2)*3=13+(-2*3)=13-6=7
2) a) readln(а); readln(х);
б) writeln(z)
в) var b,c : real; (чаще всего используется при нахождении вещественных чисел)
var a: integer; (чаще всего используется при нахождении вещественных чисел)
г) if d = a(число, которому нужно прировнять, этот фрагмент цикла(если…,то ..иначе)) then d:=d+20; д) z := x + y; ( : = это знак присвоения)3)
PROGRAM PR1;
var w,s,b: integer;
BEGIN
READLN (S, B);
w:= ((12*s) + (26*b));
WRITELN (W);
end.
4) Запишите на языке Паскаль следующие условия:
а) f >105 ;
б) a<184 ;
в) w<>181;
г) z>0;
д) z<=d;
е) (y*x)>=(d+w);
ж) (w-d)<88;
з) f>=1;
5. Запишите на языке Паскаль команду ветвления для решения следующей задачи:
а) if a<> 21 then a:=a+28 else a:=a-51;
б) if a mod 2=0 then a:=a+5 else a:=a-12;
6. Запишите на языке Паскаль команду цикла для решения следующей задачи:
а) PROGRAM PR1;
var j,p: integer;
BEGIN j:=1; p:=0;
While j>=66 do BEGIN p:= p*j; j:=j+1:
WRITELN (‘произведение чисел = ‘, p);
end.
б)
PROGRAM PR1;
var n:integer;
begin
for n:=1 to 7 do
writeln('trud');
end.