Задание 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её.
Редактор может выполнять две команды, в обеих командах чи w обозначают
цепочки символов.
2.
Нашлось
1. заменить (v, w)
(v)
Первая команда заменяет в строке первое слева вхождение цепочки у на
цепочку w. Если цепочки в строке нет, эта команда не изменяет строку.
Вторая команда проверяет, встречается ли цепочка ув строке исполнителя
Редактор.
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (АА) ИЛИ нашлось (ВВ) ИЛИ нашлось (АВ)
заменить (AA, B)
заменить (BB, A)
заменить (AB, BA)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что на вход программы поступила строка из 52 подряд идущих
комбинаций «AB» (все буквы заглавные, латинские). Какая строка получится
после выполнения алгоритма?
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int a;
cin >> a;
int d = a%10;
string s = "yes";
while(abs(a) > 0) {
if(a%10 != d) {
s = "no";
break;
}
a/=10;
}
cout << s << endl;
}
2)
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int a;
cin >> a;
int d = a%10;
a/=10;
string s = "no";
while(abs(a) > 0) {
if(a%10 == d) {
s = "yes";
break;
}
d = a%10;
a/=10;
}
cout << s << endl;
}
begin
var n := Abs(ReadInteger('Введите целое число:'));
var yes := False;
var n1 := n mod 10;
n := n div 10;
while n > 0 do
begin
var n2 := n mod 10;
if n1 = n2 then
begin
yes := True;
break
end;
n := n div 10;
n1 := n2
end;
if yes then Print('Верно')
else Print('Неверно')
end.
А еще это можно решить, к примеру, так:
begin
var s := Abs(ReadInteger('Введите целое число:')).ToString;
if s.Pairwise.Any(t->t[0]=t[1]) then Print('Верно')
else Print('Неверно')
end.