miki, один из постулатов математики гласит: стандартные задачи правильнее решать стандартными методами
что до указанной задачи, то это обратная задача от чисто комбинаторной, такой:
встретились 13 человек, сколько между ними было рукопожатий, если поздоровались каждый с каждым?
классическое решение этой задачи такое:
пронумеруем участников: 1, 2, 3....12, 13. при встрече первый может пожать руку 12 различным участникам встречи, следующий (например - 2-й) - 11-ти (т.к. с первым он уже поздоровался), следующий - 10-ти и т.д
тогда мы имеем: 12+11+10+...+3+2+1 = 78 рукопожатий, или n*(n-1)/2
кстати (задача Гаусса), знаете ли как быстро подсчитать сумму чисел от 1 до 1000 в уме?
вот этот принцип здесь применяется..
а что до настоящей задачи, то она решается по принципу "от обратного"