我觉着这答案已经很明白了。 我再说白一点思路吧。 一共5个球,一共5个人,问有多少种分法。所以是5个球分别可以给5个人,一共5个球就有 5! 种分法。再减去3种不要球的情况。
代码实现中,abcde代表5个人,用了5层for循环分别表示5个小朋友分到5个球的情况,最后一层循环for(e=1;e<5;e++)中除去了3种不要的球。既a不能等于1,b不能等于2,c不能等于3的情况下进行统计,既count++。最后得出count值。
嵌套的多重for 循环遍历所有可能性(全排列)
x[i]用来记录球是否使用(中止无效排列)
然后对每种可能性进行判断(最内层的if语句)
注释说的很清楚呀