Нужна срочно программа на PascalABC, помогите кто может пожалуйста.
Билет считается счастливым, если в его n-значном номере сумма первых [n/2] цифр равна сумме [n/2] последних цифр (при нечетном n центральная цифра в “проверке на счастье” не участвует и может быть любой). Подсчитайте число счастливых билетов с различными n-значными номерами (ведущие нули в номерах возможны, но номера, состоящего из одних нулей, не существует).
Входные данные
На вход программе подается натуральное число n < 16.
Выходные данные
Выведите количество n-значных счастливых билетов.
Answers & Comments
a: array [0..8,0..80] of int64;
i,j,k,n,m: integer;
s: int64;
begin
read(n);
m := n div 2 * 10;
for i := 0 to n div 2 do
for j := 0 to m do
a[i,j] := 0;
a[0,0] := 1;
for i := 1 to n div 2 do
for j := 0 to m do
for k := 0 to 9 do
if j - k >= 0 then
a[i,j] := a[i,j] + a[i-1,j-k];
k := n div 2;
s := 0;
for i := 0 to m do
s := s + sqr(a[k,i]);
if n mod 2 <> 0 then
s := s * 10;
s := s - 1;
write(s);
end.