腾讯笔试第二题

腾讯笔试第二题总提示语法错误有没有大佬能解释下(python3.5)
def jiecheng(m):
    output = 1
    for i in range(1, m + 1):
        output = output * i
    return output

def C_n_k(n, k):
    output = jiecheng(n) / jiecheng(k) / jiecheng(n-k)
    return output

if __name__ == "__main__":
    tmp1 = input().split(' ')
    t = int(tmp1[0])
    k = int(tmp1[1])
    a1 = []
    for i in range(0, t):
        tmp1 = input().split(' ')
        a1.append([int(tmp1[0]), int(tmp1[1])])
    length_total = []
    for i in range(0, t):
        minx = a1[i][0]
        maxx = a1[i][1]
        count = 0
        for length1 in range(minx, maxx + 1):
            for jj in range(0, int(length1 / k) + 1):
                total_count = length1 - jj * k + jj
                count = count + C_n_k(total_count, jj)
        length_total.append(int(count))
    for i in range(0, length_total.__len__()):
        print(length_total[i])

#腾讯##笔试题目#
全部评论
我也是显示数组越界,搞不懂
点赞 回复 分享
发布于 2019-09-01 22:37
思路一模一样,显示我超时😭
点赞 回复 分享
发布于 2019-09-01 22:33
我的想法跟你一样,但是算阶乘时间复杂度太高了,a,b最大可以取到10万,你本地跑都跑好几秒
点赞 回复 分享
发布于 2019-09-01 22:31

相关推荐

03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客企业服务