解题思路:
注意事项:
参考代码:
方法一:直接全排列再去重
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 人评分
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:494 |
ASCII帮了大忙浏览:748 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1816 |
打水问题 (C语言代码)浏览:1070 |
妹子杀手的故事 (C语言代码)浏览:1218 |
兰顿蚂蚁 (C++代码)浏览:1044 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:878 |
WU-C语言程序设计教程(第三版)课后习题11.12 (C++代码)(想学链表的小伙伴可以看看)浏览:902 |
【明明的随机数】 (C语言代码)浏览:785 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:547 |