阿里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) 回帖