1) Дано множество и два подмножества данного множества: Найти: AB,AB, , ,A\B,B\A Изобразите диаграммы Эйлера. 2) С таблицы истинности проверить справедливость следующего тождества: 3) Упростить логическое выражение
Воспользуемся расширенной записью шестнадцатиричного числа в десятичной системе счисления. Тогда 3(a*16²+b*16+c)=b*16²+c*16+a; 767a=208b+13c; 59a=16b+c → a=(16b+c)/59 (1) Здесь a,b,c - шестнадцатиричные цифры, имеющие десятичный эквивалент от 0 до 15. Наложим ограничения. a и b не могут быть нулевыми, поскольку с них начинаются числа, а с может быть и нулем. При b=15 и c=15 значение a по формуле (1) не может быть больше (16*15+15)/59, что в целых числах дает 4. Следовательно, нам надо подобрать такие b и c, чтобы a принимало значения от 1 до 4. Будем подставлять эти значения в (1). 1) При а=1 получаем (16b+c)/59=1 → 16b+c=59. b=59/16=3 (нацело), c=59-16*3=11. Искомое число 13B₁₆ 2) При а=2 получаем (16b+c)/59=2 → 16b+c=118. b=118/16=7 (нацело), с=118-16*7=6. Искомое число 276₁₆
Аналогичным образом находим два остальных числа: 3B1₁₆ и 4EC₁₆
Замечание. Фактически, мы получаем числа 59х1, 59х2, 59х3, 59х4 и переводим их в шестнадцатиричную систему счисления, поскольку в формуле (1) в скобках записано представление расширенное представление шестнадцатиричного числа.
int cols;
int rows;
cout << "Введите размер столбцов ->" << endl;
cin >> cols;
cout << "Введите размер строк ->" << endl;
cin >> rows;
//выделение памяти для двумерного массива
int **ptrarray = new int*[cols];
for (int count = 0; count < cols; count++)
ptrarray[count] = new int[rows];
for (int count_row = 0; count_row < cols; count_row++)
for (int count_column = 0; count_column < rows; count_column++)
ptrarray[count_row][count_column] = rand() % 41 + (-20);
for (int count_row = 0; count_row < cols; count_row++)
{
for (int count_column = 0; count_column < rows; count_column++)
cout << setw(4) << setprecision(2) << ptrarray[count_row][count_column] << " ";
cout << endl;
}
// удаление двумерного динамического массива
for (int count = 0; count < cols; count++)
delete[] ptrarray[count];
delete[] ptrarray;
Объяснение:
3(a*16²+b*16+c)=b*16²+c*16+a;
767a=208b+13c; 59a=16b+c → a=(16b+c)/59 (1)
Здесь a,b,c - шестнадцатиричные цифры, имеющие десятичный эквивалент от 0 до 15.
Наложим ограничения. a и b не могут быть нулевыми, поскольку с них начинаются числа, а с может быть и нулем. При b=15 и c=15 значение a по формуле (1) не может быть больше (16*15+15)/59, что в целых числах дает 4.
Следовательно, нам надо подобрать такие b и c, чтобы a принимало значения от 1 до 4. Будем подставлять эти значения в (1).
1) При а=1 получаем (16b+c)/59=1 → 16b+c=59.
b=59/16=3 (нацело), c=59-16*3=11. Искомое число 13B₁₆
2) При а=2 получаем (16b+c)/59=2 → 16b+c=118.
b=118/16=7 (нацело), с=118-16*7=6. Искомое число 276₁₆
Аналогичным образом находим два остальных числа: 3B1₁₆ и 4EC₁₆
Замечание. Фактически, мы получаем числа 59х1, 59х2, 59х3, 59х4 и переводим их в шестнадцатиричную систему счисления, поскольку в формуле (1) в скобках записано представление расширенное представление шестнадцатиричного числа.