解题思路:
注意事项:
参考代码:
方法一:直接全排列再去重
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语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:638 |
【亲和数】 (C语言代码)浏览:536 |
C语言程序设计教程(第三版)课后习题9.4 (Java代码)浏览:1416 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:665 |
字符串问题 (C语言代码)浏览:1500 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:597 |
WU-图形输出 (C++代码)浏览:800 |
WU-链表数据求和操作 (C++代码)浏览:1312 |
核桃的数量 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:558 |