Помощь - Поиск - Пользователи - Календарь
Полная версия: Иной случайный билетик
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Zzzz...
Давно я тут не был, вот решыл заглянуть сразу с задачей:

Задача 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.



Надеюсь на вашу поддержку.
volvo
Цитата
3: for q:=100 to 999 do
С чего бы? Что, сумма цифр 006 не равна сумме цифр 123? Это по вопросу "почему неправильно"...
Zzzz...
Да, Вы правы, спасибо)...ступил я...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.