題目:
題解:
純二進位制題目。因為所有的水都是由兩份相同的水合併而成的,因此每瓶水的體積一定是2^i,(i\in n)2 i ,(i∈n)公升。最後保留k個瓶子,那麼最後總的公升數的二進位制表示中,1的個數一定<=k。
本題實質上是用不超過k個1和無數個0生成乙個最接近且大於n的二進位制數
方法一:
#includeusing namespace std;
//本題實質上是用不超過k個1和無數個0生成乙個最接近且大於n的二進位制數
int main()
{ long long n,k,s=0,mi=2000000000;
long long a[32];
bool b[32];
memset(b,false,sizeof(b));
a[0]=1;
for(int i=1;i<=31;i++) a[i]=a[i-1]<<1;
cin>>n>>k;
while(n>0&&s=0) k--;
//檢索第i位標記為零時,應該將哪一位標記為1才能更接近n
二進位制 二進位制起源
現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...
二進位制有關問題
有1000瓶液體,味,外表完全 樣,其中 瓶是毒藥,有10 條警 警 喝過毒藥後兩 時後死亡。問,如何在兩個 時後確定 哪瓶是毒藥 解法 因為有1000瓶液體。10條警犬。分別給這1000瓶液體編號,為 1 10000 用二進位制表示 10位就夠了。因為2 10 1024 給這10只警犬分別編號 1...
LeetCode 二進位制問題
338.counting bits 計算小於n的各個數值對應的二進位制1的個數 思路 通過奇偶判斷,if i是偶數,a i a i 2 if i是奇數,a i a i 1 1。class solution return res 136.single number 只有乙個元素出現1次,其他出現2次,...