PascalABC.NET 3.4.0, сборка 1672 от 10.06.2018
Внимание! Если программа не работает, обновите версию!
function IsHappy(n:integer):boolean;
begin
var L:=new List;
while n>0 do begin
L.Add(n mod 10);
n:=n div 10
end;
n:=L.Count;
n:=n div 2 + n mod 2;
Result:=L[:n].Sum=L[n:].sum
end;
begin
var (a,b):=ReadInteger2('Введите номера первого и последнего билета:');
Writeln('Счастливых билетов - ',Range(a,b).Where(t->IsHappy(t)).Count)
end.