Пусть A = кол-во различных выборов 2 мест для цифр из 6, пусть B = кол-во двузначных чисел, пусть C = кол-во возможностей выбора остальных четырех цифр. A = 5 + 4 + 3 + 2 + 1 = 3 * 5 = 15 B = 100 C = 10 A*B*C = 15000 Теперь отнимем все решения, при которых первая цифра 0: ответ = 15000 - 5*10*10 - (4+3+2+1) * 100 * 1 = 15000 - 500 - 1000 = 13500
var s:string; i,j,k:integer; begin; s:='Молодая княгиня Болконская приехала с работой в шитом золотом бархатном мешке. Ее хорошенькая, с чуть черневшимися усиками верхняя губка была коротка по зубам, но тем милее она открывалась и тем еще милее вытягивалась иногда и опускалась на нижнюю. Как это бывает у вполне привлекательных женщин, недостаток ее — короткость губы и полуоткрытый рот — казались ее особенною, собственно ее красотой. Всем было весело смотреть на эту полную здоровья и живости хорошенькую будущую мать, так легко переносившую свое положение. Старикам и скучающим, мрачным молодым людям казалось, что они сами делаются похожи на нее, побыв и поговорив несколько времени с ней. Кто говорил с ней и видел при каждом слове ее светлую улыбочку и блестящие белые зубы, которые виднелись беспрестанно, тот думал, что он особенно нынче любезен. И это думал каждый.'; for i:=1 to length(s) do for j:=1 to length(alf) do if s[i]=alf[j] then inc(k); writeln(k); end.
Сам алгоритм такой: представим, что у нас есть две стопки карточек, на каждой карточке написано число, в каждой стопке карточки упорядочены (на верхней карточке написано число не меньшее, чем на нижней). Требуется переложить эти карточки в ряд в порядке возрастания написанных на них чисел.
Мы сравниваем числа, написанные на самых верхних карточках в каждой стопке (все числа, написанные на карточках под ними - гарантированно больше). Карточку с меньшим числом кладём на очередное место в ряду и опять сравниваем карточки сверху каждой стопки. Когда одна из стопок кончилась - выкладываем по порядку все оставшиеся карточки.
A = 5 + 4 + 3 + 2 + 1 = 3 * 5 = 15
B = 100
C = 10
A*B*C = 15000
Теперь отнимем все решения, при которых первая цифра 0:
ответ = 15000 - 5*10*10 - (4+3+2+1) * 100 * 1 = 15000 - 500 - 1000 = 13500