C Powers Of Two 二進位制

2021-09-06 03:59:16 字數 663 閱讀 6245

題目大意:給你兩個整數n和k,要求把n拆成k個2的冪的和。1 2 4 8 16…。如果無法做到就輸出no,能夠做到就輸出yes,並且輸出k個2的冪加數。

思路:開始沒有往二進位制的方向想。只判斷出是能不能滿足條件。方案不知道怎麼構造。

後來用了二進位制。那麼n的二進位制有多少個1.這就是k的最小值。因為可以把高位的1拆成兩個低進製的1。所以把所有高位的1的全部拆成最低位的1。就是k的最大取值。也就是n個2^0。

思考:因為後面的迴圈結束時沒有判斷所有的低位的和是否using namespace std;

#define ll long long

const int mod=1000000007;

char a[35];

int b[35];

int main()

for(int i=0;i<32;i++)

for(int i=32;i>=0;i--)

break;}}

if(k=0;i--)

else if(k

else

}printf("yes\n");

for(int i=0;i<=n;i++)}}

return 0;

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

判斷二進位製半整數(二進位制)

10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...

mysql二進位制 MySql二進位制連線方式詳解

使用mysql二進位制方式連線 您可以使用mysql二進位制方式進入到mysql命令提示符下來連線mysql資料庫。例項以下是從命令列中連線mysql伺服器的簡單例項 root host mysql u root p enter password 在登入成功後會出現 mysql 命令提示視窗,你可以...