Предмет: Информатика,
автор: kirillfedor03
Pascal ABC.
Ома решил придумать свой признак делимости на 8. ОМА будет считать что число делится на 8 если существует перестановка цифр числа такая что новое число было без лидирующих нулей и число делится на 8. Вас надо сказать делится ли число 8 по правилам ОМЫ.
ФОРМАТ ВХОДНЫХ ДАННЫХ
В первой строке дано цело число n(1<=n<=10 в третьей степени)длина числа. Во второй строка дана строка состоящая из цифр s-число которое надо проверить.
ФОРМАТ ВЫХОДНЫХ ДАННЫХ
выведите yes если число делится на 8 про правилам ОМЫ иначе no.
Примеры
2 Yes
23
3 No
101
Ответы
Автор ответа:
2
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.
Похожие вопросы
Предмет: Алгебра,
автор: erdanastrunova
Предмет: Русский язык,
автор: kucinaelvira928
Предмет: Алгебра,
автор: popugaipopugai1
Предмет: Математика,
автор: Знак11
Предмет: Физика,
автор: anavolvyn