c语言排列组合公式算法