d619 奇摩知識

2021-05-21 15:15:06 字數 1043 閱讀 2406

內容 :

不爽寫程式的小光,轉換地方,開始為奇摩知識+奉獻,突然與腿肌同學,發現了某個人所提出來的問題,並展開激烈的討論,最後終於...?

不過此問題,是某個測試系統的題目...               

*** *** **********  //有意義的消音,多半是髒話...

題目描述

大家都知道二進位制是由0和1兩種數字組成的,十進位制轉二進位制, 小明現在要玩乙個遊戲, 就是由1數到n,每數到乙個數, 這個數的二進位制有多少個1, 小明就要站起多少次, 例如數到9, 由於其二進位制為1001, 所以小明要站起來兩次, 為了知道自己能否應付這個遊戲, 請你為小明算出, 由1數到n他必須站起來多少次?

輸入格式

n (1--1000000)

輸出格式

小明總共要站起來的次數

樣例輸入

12樣例輸出

22

輸入說明 :

每一行有乙個數字n (1≦n≦1,0000,0000)

輸出說明 :

請輸出小明總共要站起來的次數。請輸出mod 1000000000 之後的結果

範例輸入 :

若題目沒有特別說明,則應該以多測資的方式讀取,若不知如何讀取請參考 a001 的範例程式。

12

範例輸出 :

22

提示 :

※ 題目管理員,可能會消失很久,投訴可能要等到01

2345

6789

1011120

11011100

101110

111011

2122

3122

322^02^1

2^22^301

2457

9121315

1720221

412f(x)=2*f(x-1)+2^(x-1)