2. 重點知識:
大概是最後一次參加藍橋杯,python組模擬題練習,僅作為個人總結,分享給有需要的人,如有錯誤,請糾正,萬分感謝!
給定l,r。統計[l,r]區間內的所有數在二進位制下包含的「1」的個數之和。如5的二進位制為101,包含2個「1」。
第一行包含2個數l,r
乙個數s,表示[l,r]區間內的所有數在二進位制下包含的「1」的個數之和。
2 3l<=r<=100000;
時間限制:1.0s 記憶體限制:256.0mb
a=list(map(int,input(
).split()))
#a[0]=l,a[1]=r
sum=0 #sum記二進位制1的個數
for i in range(a[0],a[1]+1): #從l到r的範圍,每個數轉換為二進位制,將1的個數進行累加
while i:
if i%2==1:
sum+=1
i//=2
print(sum)
a=list(map(int,input(
).split()))
sum=0
for i in range(a[0],a[1]+1):
sum+=bin(i).count(
'1')
#二進位制=bin(十進位制) #.count('n')求n的個數
print(sum)
while i: 直到i為0時才停止迴圈
十進位制轉二進位制方法:二進位制=bin(十進位制)
a.count(『n』):a中n的個數
心態好些比什麼都強,sincerely,end.
藍橋杯演算法訓練 二進位制數
資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 給定l,r。統計 l,r 區間內的所有數在二進位制下包含的 1 的個數之和。如5的二進位制為101,包含2個 1 輸入格式 第一行包含2個數l,r 輸出格式 乙個數s,表示 l,r 區間內的所有數在二進位制下包含的 1 的個數之和。...
藍橋杯訓練題目 (二進位制數數)
順便說明一下真正的取餘過程。十進位制轉二進位制 用十進位制數除以二進位制數,得到的每一位餘數就是二進位制數的構成,但是要倒序輸出才是正常的二進位制。過程如下 比如整數10 10 2 0 10 2 5 5 2 1 5 2 2 2 2 0 2 2 1 注意上一步中因為餘數已經為0了,同時下一步中 1 2...
藍橋杯 二進位制數數(位運算)
問題描述 給定l,r。統計 l,r 區間內的所有數在二進位制下包含的 1 的個數之和。如5的二進位制為101,包含2個 1 輸入格式 第一行包含2個數l,r 輸出格式 乙個數s,表示 l,r 區間內的所有數在二進位制下包含的 1 的個數之和。樣例輸入 2 3樣例輸出 3 bit intcnt one...