А) В пересечении участвуют те элементы множества, которые содержатся одновременно в обоих множествах, поэтому их может быть не более количества элементов в менее мощном множестве, т.е. от 0 до 20. б) В объединении множеств участвуют все элементы одного множества и отсутствующие в нем элементы другого. Если оба множества непересекающиеся, т.е. не содержат одинаковых элементов, то в их объединении будет 20+45=65 элементов, а если менее мощное множество полностью содержится в более мощном, то 45 элементов. Итого, в объединении может быть от 46 до 65 элементов.
Проще всего перевести числа в 10-ную систему, умножить и перевести обратно в 16-ную. 4A,3 = 4*16 + 10 + 3/16 = 74,1875 F,6 = 15 + 6/16 = 15,375 74,1875 * 15,375 = 1140,6328125 = 256*4 + 16*7 + 4 + 0,6328125 = = 4*256 + 7*16 + 4 + 10/16 + 2/256 = 474,A2 А если нужно обязательно в 16-ричной, то поищи "шестнадцитиричная таблица умножения". Именно так, словами, а не "16-ричная"! Из нее можно узнать, что: 4*F = 3C; A*F = 96; 3*F = 2D; 4*6 = 18; A*6 = 3C; 3*6 = 12. Умножаем в столбик: 4A,3 F,6
1BD2 458D
474,A2 Надеюсь, понятно, как я складывал числа? Например, D + D(16) = 13 + 13(10) = 26(10) = 16 + 10(10) = 1A(16) И остальные числа точно также, переводя в уме в 10-ную и складывая.
Вообще, в С++ под эту задачу предусмотрен оператор "%".
Но, если Вам нужно именно функция, то вот:
#include <iostream>
int MOD(int var1, int var2)
{
return var1 % var2;
}
int main()
{
std::cout << MOD(100, 7) << std::endl;
}
Что эквивалентно std:: cout << 100 % 7 << std::endl;