Сумма средних цифр может быть равна числу от 0 до 18 сумма крайних цифр может быть равна числу от 1 до 18 (т.к. ерайняя левая цифра не может быть равна нулю, потому тто в противном случае это было бы уже не 4х значное число. Например: 0123)
Так же получившиеся 2 новых числа не могут начинаться с нуля.
Порядок не убывания, значит второе число больше или равно первому.
число 101 могло быть составлено только из 10 и 1, но 1 < 10, значит они расположены в порядке убывания, это нам не подойдёт
20 составлено из 2 и 0, тоже порядок убывания, не подходит
312 составлен либо (3 и 12), либо (31 и 2), но наши два числа не могут быть больше 18 (т.к десятичные цифры от 0 до 9) Значит 312 составлен из 3 и 12 - подходит
Аналогично 1312 состоит из 12 и 13, подходит, т.к 13 >= 12 (пример исходного числа 6766)
А вот 1312 не подойдёт, т.к 12 < 13
1212 - подходит т.к. 12 >= 12 (пример исходного 6666)
112 - это либо 1 и 12, либо 11 и 2. Второй вариант отсекаем, первый подходит (например 1660)
Const n=15; var s:array[1..n] of real; st,p:real; i,k:integer; begin Writeln('Введите ',n,' сумм остатков'); st:=0; for i:=1 to n do begin Read(s[i]); st:=st+s[i] end; Writeln('Удельные веса остатков по магазинам'); k:=0; for i:=1 to 15 do begin p:=s[i]/st*100; Writeln(i,' - ',p:0:1); if p>12 then Inc(k) end; Write('Количество магазинов с уд. весом остатков >12%, равно '); Writeln(k) end.