Задание 2
Исполнитель Редактор получает на вход строку цифр и преобразовывает её.
Редактор может выполнять две команды, в обеих командах чи w обозначают
цепочки символов.
2.
Нашлось
1. заменить (v, w)
(v)
Первая команда заменяет в строке первое слева вхождение цепочки у на
цепочку w. Если цепочки в строке нет, эта команда не изменяет строку.
Вторая команда проверяет, встречается ли цепочка ув строке исполнителя
Редактор.
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (АА) ИЛИ нашлось (ВВ) ИЛИ нашлось (АВ)
заменить (AA, B)
заменить (BB, A)
заменить (AB, BA)
КОНЕЦ ПОКА
КОНЕЦ
Известно, что на вход программы поступила строка из 52 подряд идущих
комбинаций «AB» (все буквы заглавные, латинские). Какая строка получится
после выполнения алгоритма?
Объяснение:
Достаточно странное задание.
¬¬X = X
Попробуем доказать равенство методом от противного :
Пусть ¬¬X ≠ X:
Рассмотрим левую часть : ¬¬X ⇔ ¬(¬X)Перепишем это уравнение: ¬(¬X) ≠ X ( по идее это уже можно назвать док-вом)Подставим простое число 1 (чтобы доказать равенство в числах): ¬(¬1) ≠ 1 ⇔ ¬(0) ≠ 1 ⇔ 1 ≠ 1Получившееся выражение ( 1 ≠ 1 ) не верно , ⇒ ¬¬X = x , ч.т.д
Можно более простым смотря что от вас хотят увидеть) :
Пусть ¬¬X = X:
Преобразуем выражение : ¬¬X = X ⇔ ¬(¬X) = XПрименим инверсию к обеим частям : ¬X = ¬XПолучившееся выражение ( ¬X = ¬X ) верно , ч.т.д
Ну или сразу применить инверсию ко всему выражению (Идея взята у парня в комментариях к вопросу):
¬(¬¬X) = ¬X ⇔ ¬X = ¬X , ч.т.д
#include <clocale>
using namespace std;
int main() {
setlocale(LC_ALL, "rus");
int a, b, c, min, max;
cout << "Введите первое число: ";
cin >> a;
cout << "Введите второе число: ";
cin >> b;
cout << "Введите третье число: ";
cin >> c;
cout << "\nСумма трех чисел равна: " << a + b + c ;
cout << "\nПроизведение трех чисел равно: " << a * b * c << endl;
if (a > b && a > c) max = a;
else if (b > a && b > c) max = b;
else if (c > a && c > b) max = c;
if (a < b && a < c) min = a;
else if (b < a && b < c) min = b;
else if (c < a && c < b) min = c;
cout << "\nМинимальное значение среди трех чисел: " << min;
cout << "\nМаксимальное значение среди трех чисел: " << max << endl;
cout << endl;
system("pause");
return 0;
}