題目描述:
從n個人中選出一部分人,然後,在這一部分人中選乙個隊長,共有多少種選法?
其實就是乙個排列組合的問題,組合各種可能,然後在組合好的人選裡選擇乙個數。
num =
int(
input()
)b =
a =''
for n in
range(1
,num+1)
:for i in b:
a +=
''.join(
str(i)
)import itertools
list1 = a
list2 =
for i in
range(1
,len
(list1)+1
):iter
= itertools.combinations(list1,i)
list
(iter))
count =
0for j in list2:
for k in j:
print
(j) count +=
len(k)*1
print
(k)print
(count)
方法二
def
getbinaryrep
(n, numdigits)
:"""假設n和numdigits為非負整數
返回乙個長度為numdigits的字串,為n的二進位制表示"""
result =
''while n >0:
result =
str(n%2)
+ result
n = n//
2# if len(result) > numdigits:
# raise valueerror('not enough digits')
for i in
range
(numdigits -
len(result)):
result =
'0'+ result
return result
print
(getbinaryrep(6,
4))def
genpowerset
(l):
"""假設l是列表返回乙個列表,包含l中元素所有可能的集合。例如,
如果l=[1, 2],則返回的列表包含元素[1]、[2]和[1,2]"""
powerset =
for i in
range(1
,2**len
(l))
: binstr = getbinaryrep(i,
len(l)
) subset =
for j in
range
(len
(l))
:if binstr[j]
=='1':)
return powerset
l =[1,
2,3]
a= genpowerset(l)
count =
0for i in a:
count +=
len(i)
print
(count)
阿里巴巴暑期實習生筆試題
1.kmp演算法 長度為n的主串t中匹配長度為m的子串p n m 匹配成功 存在p的每個字元依次和t中的乙個連續字串行相等 輸出主串中匹配串起始位置,匹配失敗輸出 1 思路 首先用o m 的時間對子串進行預處理,可通過子串本身的特性判斷出需要右移幾位才是可能匹配的 然後用o n 的時間去完成匹配 時...
阿里巴巴2017實習生筆試題 一
ps 檢視答案請移步bat直通車 總計24道題目,鑑於csdn的markdown格式總出錯,這裡顯示有問題,建議直接移步bat直通車直接檢視 選擇題 1.關於c 的inline關鍵字,以下說法正確的是 a.使用inline關鍵字的函式會被編譯器在呼叫處展開 b.標頭檔案中可以包含inline函式的宣...
2023年阿里巴巴實習生筆試題
前幾天參加了阿里的筆試題,題目雖然很簡單,但是現在回想下發現出了不少問題,還是基礎不牢固啊。把這些題目寫出來也算是對自己的一種提公升吧。1.html題 國家名稱 網域名稱排名 中國 www.taobao.com 1 美國 epay www.epay.com 2 amazon www.epay.com...