В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
lissrrtt
lissrrtt
17.11.2021 12:45 •  Информатика

Pascal abc. ома решил придумать свой признак делимости на 8. ома будет считать что число делится на 8 если существует перестановка цифр числа такая что новое число было без лидирующих нулей и число делится на 8. вас надо сказать делится ли число 8 по правилам омы. формат входных данных в первой строке дано цело число n(1< =n< =10 в третьей степени)длина числа. во второй строка дана строка состоящая из цифр s-число которое надо проверить. формат выходных данных выведите yes если число делится на 8 про правилам омы иначе no. примеры 2 yes 23 3 no 101

Показать ответ
Ответ:
Петья
Петья
17.08.2020 07:27

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.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота