Разбиваем класс на группы, каждая из которых состоит из одного мальчика и "его гарема" - девочек, с которыми он дружит. Поскольку каждая девочка дружит не более, чем с одним мальчиком, девочка не может войти в две группы. Тем более мальчик не может войти в две группы. Поскольку у всех мальчиков разное количество знакомых девочек, все эти группы состоят из различного количества элементов. Количество мальчиков совпадает с количеством групп. Поэтому с математической точки зрения вопрос состоит в том, на какое наибольшее количество попарно различных натуральных слагаемых можно разбить число 23. Ясно, что если брать большие слагаемые, их окажется мало. Значит, нам выгодно брать слагаемые как можно меньше. Возьмем в качестве первого слагаемого число 1 (то есть в этой группе находится мальчик, у которого вообще нет знакомых девочек), второе слагаемое 2, третье 3, и так далее. Важно, чтобы сумма слагаемых не стала больше 23. Итак, 1+2=3<23, 1+2+3=6<23, 1+2+3+4=10<23, 1+2+3+4+5=15<23, 1+2+3+4+5+6=21<23. Больше ничего не добавишь. Чтобы получить ровно 23, нужно просто, скажем, 6 заменить на 8: 1+2+3+4+5+8=23. Вывод: в классе максимум 6 мальчиков
Здесь произведения протых натуральных чисел делятся на произведения простых натуральных чисел. То есть, если в скобках после знака деления каждое число хотя бы раз встречается в скобках до знака деления, то результат будет натуральным числом: (3*5*7):(3*7) - 3 и 7 из второй скобки есть и в первой скобке, поэтому при делении они сократятся и в результате получится 5 - натуральное число. (5*11*13*23):(11*23*7) - 11 и 23 есть в первой скобке, а вот 7 нет. Т.к. все числа в скобках простые, то 7 не разделит первую скобку нацело и в результате получится рациональное число - НЕ натуральное. (7*19*29*31):(19*29*31) - опять все числа из второй скобки содержатся в первой скобке. После деления получится 7 - натуральное число. (37*41*43):(37*41*43) - в скобках одинаковые числа, при делении получится 1 - натуральное число.