问题描述
小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙。 他想用它们串成一圈作为手链,送给女朋友。
现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢?
Code:
def fib(a, b, c, sum):
if a < 0 or b < 0 or c < 0:
return 0
if sum <= 0:
return 1
return fib(a-1,b,c,sum-1) + fib(a,b-1,c,sum-1) + fib(a,b,c-1,sum-1)
res = fib(3,4,5,12)
res = res // 12
print(res)
answer: 2310
小明想要用3颗红珊瑚,4颗白珊瑚和5颗黄玛瑙串成手链,考虑到可转动和翻转,他想知道共有多少种不同的组合样式。通过斐波那契数列计算得出答案为2310,但因手链可任意旋转,实际组合数为2310除以手链的环节数12,结果为192。

被折叠的 条评论
为什么被折叠?



