小学生蓝桥杯Python闯关 | 胡萝卜分配

512 阅读1分钟

学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。

附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客


【题目描述】

现将N(3≤N≤600)根胡萝卜全部分配给黑、白、灰三只兔子,分配规则如下:

1)黑、白、灰三只兔子必须都能分到胡萝卜;

2)黑兔子的胡萝卜数大于或等于白兔子的胡萝卜数;

3)白兔子的胡萝卜数大于或等于灰兔子的胡萝卜数;

请按照规则计算,将N根胡萝卜全部分配给三只兔子,共有多少种不同的分配方法。

例如:N=8,按照分配规则有5种不同的分配方法,具体分配方法如下图:

【输入描述】

输入一个正整数N(3≤N≤600),表示胡萝卜的数量

【输出描述】

输出一个整数,表示将N根胡萝卜全部分配给三只兔子,共有多少种不同的分配方法

【样例输入】

8

【样例输出】

5

【代码详解】

N = int(input())
cnt = 0
for black in range(1,N-1):
    for white in range(1,N - black):
        grey =N - black -white
        if black >= white and white >= grey:
            cnt += 1
print(cnt)

【运行结果】

8
5