題目描述:
現有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
defmethod
(n):
res=n*mypower(
2,n-1)
print
(res%mod)
defmypower
(a,b)
: level=a
result=
1while
(b!=0)
:if((b&1)
==1):
result = result * level % mod
level=level * level % mod
b = b>>
1return result%mod
if __name__==
"__main__"
: n=
int(
input()
) method(n)
騰訊筆試題
一.單選題 每題4 分,15題,共60分 1.考慮函式原型void hello int a,int b 7,char pszc 下面的函式呼叫鐘,屬於不合法呼叫的是 a hello 5 b.hello 5,8 c.hello 6,d.hello 0,0,2.下面有關過載函式的說法中正確的是 a.過載...
騰訊筆試題
1 請定義乙個巨集,比較兩個數a b的大小,不能使用大於 小於 if語句 2 如何輸出原始檔的標題和目前執行行的行數 3 兩個數相乘,小數點後位數沒有限制,請寫乙個高精度演算法 4 寫乙個病毒 5 有a b c d 四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手...
騰訊筆試題
const的含義及實現機制,比如 const int i,是怎麼做到i只可讀的?const用來說明所定義的變數是唯讀的。這些在編譯期間完成,編譯器可能使用常數直接替換掉對此變數的引用。初探編譯器static const之實現原理 到商店裡買200的商品返還100優惠券 可以在本商店代替現金 請問實際...