На автобусных билетах указываются их номера. номера всех билетов всегда записываются при одного и того же количества цифр, при этом число используемых цифр чётно. при необходимости числа дополняются ведущими нулями. к примеру, если для записи используют 4 цифры, то 514 будет записано как 0514 . билеты отпечатаны на лентах, билеты на каждой ленте нумеруются подряд числами от до . счастливым считается тот билет, у которого сумма цифр первой половины равна сумме цифр второй половины, например, билеты 1001 и 123051 счастливые, а 7778 и 39 – нет.

сегодня дима зашел в автобус, и кондуктор выдал ему билет с номером n . поскольку диме ехать достаточно долго, а заняться чем-нибудь надо, он стал думать, какой номер будет иметь следующий счастливый билет, выданный из той же ленты, что и димин билет. если в текущей ленте не осталось счастливых билетов, диму интересует номер минимального счастливого билета из новой ленты.

входные данные

в первой и единственной строке входного файла содержится номер диминого билета n , записанный с ведущими нулями. количество цифр в записи числа n не превосходит 100 000 и чётно.

выходные данные

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

anna1660 anna1660    1   24.10.2019 21:47    27

Ответы
arianalady arianalady  11.08.2020 17:17

USES CRT;

VAR m1,m2,n,n1,n2,n3,n4,n5,n6,s1,s2:LongInt;

BEGIN

ClrScr;

  WriteLn('Vvedite nomer bileta: ');

  ReadLn(n);

  m1:=n div 1000;

   n1:=m1 div 100;

   n2:=m1 mod 10;

   n3:=(m1-n1*100-n2) div 10;

  s1:=n1+n2+n3;

  m2:=n mod 1000;

   n4:=m2 div 100;

   n5:=m2 mod 10;

   n6:=(m2-n4*100-n5) div 10;

  s2:=n4+n5+n6;

  if s1=s2 then WriteLn('Bilet schaslivyi')

                else WriteLn('Bilet ne schaslivyi');

ReadLn

END.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика