Кондуктор автобуса каждое утро получает билеты, для того чтобы раздать их своим...

0 голосов
116 просмотров

Кондуктор автобуса каждое утро получает билеты, для того чтобы раздать их своим пассажирам. В начале рабочего дня он запоминает номер первого билета, а в конце – последнего. Определите, сколько счастливых билетов получили пассажиры данного автобуса.
PLEASE


Информатика (15 баллов) | 116 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
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.

image
(150k баллов)