Попробуем доказать равенство методом от противного :
Пусть ¬¬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 ) верно , ч.т.д
Ну или сразу применить инверсию ко всему выражению (Идея взята у парня в комментариях к вопросу):
#include <iostream>
#include <string>
bool is_palindrome(const std::string& s) {
std::string r(s);
std::reverse(r.begin(), r.end());
return s == r;
}
int main() {
std::string s1,s2;
setlocale(LC_ALL, "Russian");
std::cout << "Введите число 1: ";
std::getline(std::cin, s1);
std::cout << "Введите число 2: ";
std::getline(std::cin, s2);
if (is_palindrome(s1)|| is_palindrome(s2))
std::cout << "Одно из введенных чисел является палиндромом " << std::endl;
else
std::cout << "Ни одно из введенных чисел не является палиндромом " << std::endl;
return 0;
}
Объяснение:
Достаточно странное задание.
¬¬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 , ч.т.д