20200823腾讯笔试题

Posted 3Sunremitting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20200823腾讯笔试题相关的知识,希望对你有一定的参考价值。

题目描述:
现有n个人,要从这n个人中选任意数量的人组成一只队伍,再在这些人中选出一名队长,求不同的方案对10^9+7取模的结果。如果两个方案选取的人的集合不同或选出的队长不同,则认为这两个方案是不同的。
分析:
因为选择过程与顺序无关,从n个不同元素中取出m个元素的组合数为c(n,m)。则总的方案数为
1 * C(n,1)+2 * C(n,2)+3 * C(n,3)+4 * C(n,4)+…n * C(n,n)
根据数学公式推导,最终上面组合式结果为n2^(n-1)。
思路:因此问题转化为求 n2^(n-1)。为了降低时间复杂度可用 快速幂
代码如下

mod=1000000007
def Method(n):
    res=n*MyPower(2,n-1)
    print(res%mod)

def MyPower(a,b):
    level=a
    result=1
    while(b!=0):
        if ((b&1)==1):
            result = result * level % mod
        level=level * level % mod
        b = b>>1
    return result%mod

if __name__=="__main__":
    n=int(input())
    Method(n)

以上是关于20200823腾讯笔试题的主要内容,如果未能解决你的问题,请参考以下文章

腾讯安全上海游戏部门笔试题

多线程关于腾讯笔试题

腾讯笔试题总结2

数据挖掘150道笔试题

2015腾讯web前端笔试题

2017腾讯实习笔试题