Переводим X и Y в двоичную систему - это все же два числа, а не четыре, как если бы из двоичной переводить Z. Цифры шестнадцатиричного X расписываем по двоичным тетрадам, а восьмеричного Y - по триадам. X = B7₁₆ = 1011 0111₂ = 10110111 Y = 271₈ = 010 111 001₂ = 10111001 Требуется найти Z, которое находится между X и Y. Запишем в столбик, выравняв по младшему разряду, сначала X, потом варианты Z и в конце Y. То, что не будет попадать в интервал между числами в первой и последней строках, потом вычеркнем. 10110111 10111001 - равно нижнему, вычеркнем 10011000 - меньше верхнего, вычеркнем 10111000 - подходит - это ответ 10110111 - равно верхнему, вычеркнем 10111001
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int x,y;
cin >> x >> y;
cout << ((sin(x)+cos(x))/(cos(x)-sin(x)))*tan(x*y);
}
Объяснение: