- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
Program gg;
Uses crt;
Var a,b,c,d,k,m,n,p,q:integer;
Begin
b:=a mod 100000;
c:=a mod 1000;
c:=c div 100;
d:=a mod 10;
d:=d div 10000;
K:=b+c+d;
m:=a mod 10000;
m:=m div 10;
n:=a mod 100;
n:=n div 1000;
p:=a div 100000;
q:=m+n+p;
// И так далее...
И сразу плюс
> Program gg;
Это как ездить, стоя на утке, при этом жонглируя бензопилами.
Как рука Клауса?
// a[i] - количество комбинаций из 3-х цифр, сумма которых равна i
for i := 0 to 9*3 do a[i] := 0;
// эту часть можно попрямее, но думать влом
for i := 0 to 9 do
for j := 0 to 9 do
for k := 0 to 9 do inc(a[i+j+k]);
// подсчет количества комбинаций
s := 0; for i := 0 to 9*3 do s := s + a[i] * a[i];
Ничего не говорит? Не?
http://www.govnokod.ru/8423#comment118611
К чему я приплел это?
>Треугольник Паскаля
А к тому что при построении массивов, который у вас называется a[i], для билетов разной длины, получается треугольник, напоминающий треугольник Паскаля, который собственно является частным случаем для билетов в двоичной системе исчисления (с окном в 2 числа).
Вот:
1 1; 1+1=2 счастливых билета для 1 знака*2
1 2 1; 1+4+1=6 билетов для 2-х знаков*2
1 3 3 1; 1+9+9+1=20 билетов для 3-х знаков*2
1 4 6 4 1; 1+16+36+16+1=70 билетов для 4х знаков*2
итд
ответ свой ориентировал на автора кода (не поста). школоте попроще надо и без формул конечно же - а то испугаются.