首页 > 小白求解答
头像
Alex_L
编辑于 2020-07-31 20:45
+ 关注

小白求解答

阿里2020.7.31笔试

一共两到算法题,我只做出来一道。

小红去放牛,每头牛都独一无二,每头牛都有c种颜色可选,问:小红去放牛,共有几种组合?

示例:3头牛,2种颜色
0 头牛    1种
1 头牛    3x2 种
2 头牛    3x2^2 种
3 头牛    1x2^3 种
共27种

就这么几行,写了一个小时。望大佬们指点指点:

def result(n,c):
    if n>=1 and n<=10**9 and c>=1 and c<=10**9:
        sum = 0

        for i in range(n+1):
            fenm = 1
            fenz = 1
            if i == 0:
                sum =sum + 1
                continue
            for j in range(i):
                fenm = fenm*(n-j)
                fenz = fenz*(1+j)
            C = int(fenm/fenz)
            M = c**i
            sum += C * M
    return(sum%(10**9))

if __name__ =='__main__':
#    n,c=map(int,input().split())
#   print(result(n,c))
    print(result(3,2))

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐