Задача 6. Билетик.
Имя входного файла: a.in
Имя выходного файла: a.out
Ограничение по времени: 1 секунда
Ограничение по памяти: 16 мегабайт
Дима нашел половину счастливого билетика. Он хочет узнать, сколько счастливых билетиков могло так начинаться. Счастливым считается билетик, у которого сумма первой половины чисел совпадает с суммой второй половины (длина билетика четна).
Формат входных данных
В первой строке входного файла записана первая половина номера счастливого билетика. Длина этой половины не превосходит 10 цифр.
Формат выходных данных
В выходной файл выведите одно число – количество возможных счастливых билетиков с заданной первой половиной.
Примеры
a.in a.out
123 28
Задача сама по себе легкая, но как я полагаю, что-то я делаю не правильно когда ввожу 123 моя программа выводит 21...
Вот текст программы, я ее написал до половины с 4 знаками, просто дальше должно быть аналогично.
VAR
s,n,k,v,i,q,s1:integer;
BEGIN
assign(input,'input.in');
reset(input);
assign(output,'output.out');
rewrite(output);
readln(n);
while n>0 do
begin
s:=s+(n mod 10);
n:=n div 10;
inc(k);
end;
case k of
1:for i:=1 to 9 do
begin
if s=i then inc(v);
end;
2: for q:=10 to 99 do
begin
s1:=0;
i:=q;
while i>0 do
begin
s1:=s1+(i mod 10);
i:=i div 10;
end;
if s=s1 then inc(v);
end;
3: for q:=100 to 999 do
begin
s1:=0;
i:=q;
while i>0 do
begin
s1:=s1+(i mod 10);
i:=i div 10;
end;
if s=s1 then inc(v);
end;
4: for q:=1000 to 9999 do
begin
s1:=0;
i:=q;
while i>0 do
begin
s1:=s1+(i mod 10);
i:=i div 10;
end;
if s=s1 then inc(v);
end;
end;
END.
Надеюсь на вашу поддержку.