Вопрос задан 26.04.2021 в 00:09. Предмет Информатика. Спрашивает Власюк Максим.

СРОЧНО ПЛИИИИИЗ!!!! ДАЮ 75 Баллов →Pascal ABC←Алексей готов к финальной стадии своего проекта! Он

хочет узнать, сколько людей имеют номер телефона с «зеркальной частью». Содержащими зеркальную часть, Алексей считает такие номера, в которых можно найти последовательность цифр w-x-y-y-x-w, либо x-y-y-x (при этом w, x, y не равны друг другу, иначе номер красивым не считается!) Например, 4123321 – последовательность с зеркальной частью, а 1234321 – нет. Помогите статистику Алексею провести это важное исследование и выяснить, какое количество номеров среди представленных содержат зеркальную часть.Формат входных данныхВ первой строке вводится N (0 < N < 100) - количество номеров. В следующей строке вводится N чисел разрядностью от пяти до девяти знаков.Формат выходных данныхВыведите количество номеров, у которых есть зеркальная часть.Примеры:входные данные 6345284482 7658668 74554766 76133145 837567 923342выходные данные4
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шаззо Алиса.

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

Var a:array [1..9] of integer;

i,n,q,u,o,p,y:integer;

begin

read (n);

For i:=1 to n do begin

read (u);

q:=u;

while q<>0 do begin

p:=p+1;

q:=q div 10;

end;

q:=u;

For o:=1 to p do begin

a[o]:=q mod 10;

q:=q div 10;

end;

For o:=3 to p do

If (a[o]=a[o-1]) and (o>2) and (a[o+1]=a[o-2]) and (a[o]<>a[o+1]) and (p<>4) then y:=y+1 else

If (p>6) and (a[o]=a[o-1]) and (o>3) and (a[o+1]=a[o-2]) and (a[o+2]=a[o-3]) and (a[o]<>a[o+1]) and (a[o+1]<>a[o+2]) and (a[o]<>a[o+2]) and (p<>6) then y:=y+1;

For o:=1 to p do

a[o]:=-1;

p:=0;

end;

write (y);

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения задачи нужно пройтись по каждому номеру и проверить наличие зеркальной части. Для этого можно использовать строковые операции.

Вот пример кода на языке Pascal ABC:

arduino
var N, i, j: integer; phone: string; hasMirrorPart: boolean; begin // Читаем количество номеров readln(N); // Счетчик номеров с зеркальной частью j := 0; // Читаем каждый номер и проверяем наличие зеркальной части for i := 1 to N do begin readln(phone); hasMirrorPart := false; // Проверяем наличие последовательности w-x-y-y-x-w for j := 1 to length(phone) - 5 do begin if (phone[j] <> phone[j+5]) and (phone[j+1] = phone[j+4]) and (phone[j+2] = phone[j+3]) and (phone[j] <> phone[j+1]) and (phone[j+1] <> phone[j+2]) and (phone[j+2] <> phone[j+3]) and (phone[j+3] <> phone[j+4]) and (phone[j+4] <> phone[j+5]) then begin hasMirrorPart := true; break; end; end; // Если первая проверка не пройдена, проверяем наличие последовательности x-y-y-x if not hasMirrorPart then begin for j := 1 to length(phone) - 3 do begin if (phone[j] <> phone[j+3]) and (phone[j+1] = phone[j+2]) and (phone[j] <> phone[j+1]) and (phone[j+1] <> phone[j+2]) and (phone[j+2] <> phone[j+3]) then begin hasMirrorPart := true; break; end; end; end; // Если найдена зеркальная часть, увеличиваем счетчик if hasMirrorPart then Inc(j); end; // Выводим количество номеров с зеркальной частью writeln(j); end.

Данный код читает количество номеров N и затем читает N номеров по одному. Для каждого номера он проходит по всем его символам и ищет зеркальную часть. Если зеркальная часть найдена, увеличивается счетчик. По окончании проверки выводится количество номеров с зеркальной частью.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос