Pascal ABC. Ома решил придумать собственный признак делимости на 8. ОМА

Pascal ABC.

Ома решил придумать собственный признак делимости на 8. ОМА будет считать что число делится на 8 если существует перестановка цифр числа такая что новое число было без фаворитных нулей и число делится на 8. Вас надобно сказать делится ли число 8 по правилам ОМЫ.

ФОРМАТ ВХОДНЫХ ДАННЫХ

В первой строке дано цело число n(1lt;=nlt;=10 в третьей ступени)длина числа. Во 2-ой строка дана строчка состоящая из цифр s-число которое надобно проверить.

ФОРМАТ ВЫХОДНЫХ ДАННЫХ

выведите yes если число делится на 8 про правилам ОМЫ иначе no.

Образцы

2 Yes
23


3 No
101

Задать свой вопрос
1 ответ

var a:STRING;

i,n,j,k,x,z,y:integer; d:boolean;

begin

readln(n);

read(a);

d:=false;

if (n=1)and (a='8') then d:=true;

if n=2 then begin

x:=ord(a[1]) - 48;

y:=ord(a[2]) - 48;

if((x*10+y) mod 8=0) or

 ((y*10+x) mod 8=0) then d:=true;

end

else

begin

for i:=1 to N-2 do

for j:=i+1 to N-1 do

for k:=i+2 to N do

begin

x:=ord(a[i])-48;

y:=ord(a[j])-48;

z:=ord(a[k])-48;

if((x*4+y*2+z) mod 8=0) or

 ((y*4+x*2+z) mod 8=0) or

 ((y*4+z*2+x) mod 8=0) or

 ((x*4+z*2+y) mod 8=0) or

 ((z*4+y*2+x) mod 8=0) or

 ((z*4+x*2+y) mod 8=0) then d:=true;

 end; end;

 if d then write('YES') else write('NO');

 end.

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт