03.06 c++ 編程實戰入門:A類B類二進制數

題目描述

如果一個二進制數中1的個數比0的個數多,我們稱這樣的數為A類數,反之我們稱為B類數(包含相等的情況),那麼49(49轉換成二進制數為110001,0有3個,1有3個)這個數顯然就是個B類數,你能編寫一個程序來判斷一下輸入的十進制數是A類還是B類麼?

輸入

一行,一個數

輸出

一行,一個字母

樣例輸入 Copy

<code>49/<code>

樣例輸出 Copy

<code>B/<code>

提示

本題只需要統計2進制數中0和1的數量,並不需要數組改二進制數,所以可以不需要用數組來保存二進制的每一位數。

<code>#include <bits>
using namespace std;
int main()
{
\tint n,a=0,b=0;
\tcin>>n;
\twhile(n)
\t{
\t\tif(n%2==0)
\t \t\tb++;//0的個數
\t\telse
\t \t\ta++;//1的個數
\t\t\tn/=2;
\t}
\tif(a>b)
\tcout< \telse
\tcout< \treturn 0;
}
/<bits>/<code>
c++ 編程實戰入門:A類B類二進制數

輸入49運行結果

c++ 編程實戰入門:A類B類二進制數

輸入63運行結果


分享到:


相關文章: