解题思路:
注意事项:
参考代码:
方法一:直接全排列再去重
from itertools import permutations
try:
while True:
a=input()
s=input()
slis=list(s)
quanpailie=list(permutations(slis))
print(len(set(quanpailie)))
except:pass
方法二:计算出全排列数量,再除以每个重复的元素的排列数。
from math import factorial
try:
while True:
a = input()
s=input()
slis=list(s)
sset=set(slis)
quanpailie = factorial(a)
for i in sset:
quanpailie/=(factorial(slis.count(i)))
print(int(quanpailie))
except:pass
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:464 |
C语言训练-斐波纳契数列 (C语言代码)浏览:776 |
C语言考试练习题_保留字母 (C语言代码)浏览:686 |
母牛的故事 (C语言代码)浏览:738 |
大神老白 (C语言代码)浏览:713 |
简单的a+b (C语言代码)浏览:537 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:612 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1150 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:686 |
核桃的数量 (C语言代码)浏览:669 |