補題I題(十進位制中的二進位制)

2021-10-01 22:18:23 字數 716 閱讀 2992

hkhv學長最近對二進位制數很感興趣,喜歡一切0和1組成的數。現在有乙個十進位制整數n,問你1到n之間有多少個數是只有0和1組成的類似二進位制的數,輸出他們的個數。

input

輸入資料報含乙個數n (1 <= n <=10^9). 

output

輸出1到n中類似二進位制的數的個數.

sample input

10 sample output

2 hint

對於n = 10,1 和 10是類似二進位制的數.這裡是引用

題意:

找出小於n的所有數中僅由0和1構成的數的數量。

思路:

dfs遞迴,用0和1填10位數,所得數在0-n範圍內的統計個數

#include

#include

using

namespace std;

int n,ans;

void

dfs(

int v,

int d)

dfs(v*

10,d-1)

;//遞迴

dfs(v*10+

1,d-1)

;}intmain()

}

二進位制轉十進位制

二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...

二進位制與十進位制

人們在生產實踐和日常生活中創造了多種表示數的方法,這些數的表示規則稱為數制。例如人們常用的十進位制 計算機中採用的二進位制等。十進位制計數法的加法規則是 逢十進一 任意乙個十進位制可用0 1 2 3 4 5 6 7 8 9十個字元的組合表示,它的基數是 10。二進位制計數法的加法規則是 逢二進一 任...

十進位制轉二進位制

includeint dg unsigned n,int c 注意 引數型別是unsigned int main 陣列全部初始化為0 printf d n sizeof int unsigned temp,u temp u 4294967295u int tu int u printf u u,tu...