色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Python的oj題目

劉柏宏1年前8瀏覽0評論

Python是一種廣泛應用于數(shù)據(jù)挖掘、人工智能、機器學習等領域的編程語言。在在線編程環(huán)境(oj)中,Python也是一個非常流行的編程語言。下面我們就來看一道簡單的Python oj題目。

題目描述:
給定一個整數(shù)n,求小于等于n的所有正整數(shù)中,不同二進制表示下數(shù)字不同的數(shù)字個數(shù)。
例如:
當n=5時,小于等于5的所有正整數(shù)是1,2,3,4,5,其中只有2(二進制為10)和5(二進制為101)不同二進制表示數(shù)字不同,因此結果為2。
解題思路:
遍歷1-n的所有數(shù)字,分別將其轉為二進制數(shù),并統(tǒng)計其中1的個數(shù),然后將所有數(shù)字1的個數(shù)存入一個集合中,最后統(tǒng)計集合的長度即可。
AC代碼如下:
n = int(input())
res = set() # 用set保證不會有重復元素
for i in range(1,n+1):
x = bin(i)[2:] # 將i轉為二進制數(shù)
cnt = x.count('1') # 統(tǒng)計1的個數(shù)
res.add(cnt)
print(len(res))

這道題目雖然簡單,但是也需要對Python語言有一定的掌握。我們可以通過不斷地練習類似的Python oj題目,來提高我們的編程技能,更好地應用Python語言。