Решая подобные задачи проще всего использовать альтернативные символы операций, заменяя ∧ на знак умножения, ∨ - на знак сложения, ¬ - на надчеркивание. Запись становится компактнее и похода на алгебраическую. Да она, фактически и есть алгебраическая, потому что булева алгебра - это тоже алгебра. Следовательно, мы можем поступать с элементами выражения как в обычной алгебре - складывать умножать, раскрывать скобки и группировать члены выражения. Конечно, есть небольшие отличия и их надо учитывать.
Я нарисовал специальную картинку, с которой можно решать любые задачи на упрощение. Пользуйтесь))
1 задача:
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
for (int i = 0; i < 10; i++)
cout << "Привет, меня зовут..." << endl;
return 0;
}
2 задача:
#include <iostream>
#include <locale>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int num = rand() % (20 - 5 + 1) + 5;
for (int i = 0; i < num; i++)
cout << "Привет, меня зовут..." << endl;
return 0;
}
3 задача:
#include <iostream>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int num;
int sum = 0;
cout << "Введите число: ";
cin >> num;
if (num >= 0)
{
for (int i = 0; i <= num; i++)
sum += i;
}
else
{
for (int i = 0; i >= num; i--)
sum += i;
}
cout << "Сумма = " << sum;
return 0;
}
Решая подобные задачи проще всего использовать альтернативные символы операций, заменяя ∧ на знак умножения, ∨ - на знак сложения, ¬ - на надчеркивание. Запись становится компактнее и похода на алгебраическую. Да она, фактически и есть алгебраическая, потому что булева алгебра - это тоже алгебра. Следовательно, мы можем поступать с элементами выражения как в обычной алгебре - складывать умножать, раскрывать скобки и группировать члены выражения. Конечно, есть небольшие отличия и их надо учитывать.
Я нарисовал специальную картинку, с которой можно решать любые задачи на упрощение. Пользуйтесь))