天天看點

Round Numbers

題意/Description:

       正如你所知,奶牛們沒有手指以至于不能玩“石頭剪刀布”來任意地決定例如誰先擠奶的順序。她們甚至也不能通過仍硬币的方式。

       是以她們通過"round number"競賽的方式。第一頭牛選取一個整數,小于20億。第二頭牛也這樣選取一個整數。如果這兩個數都是 "round numbers",那麼第一頭牛獲勝,否則第二頭牛獲勝。

       如果一個正整數N的二進制表示中,0的個數大于或等于1的個數,那麼N就被稱為"round number" 。例如,整數9,二進制表示是1001,1001 有兩個'0'和兩個'1'; 是以,9是一個round number。26 的二進制表示是 11010 ; 由于它有2個'0'和3個'1',是以它不是round number。

       很明顯,奶牛們會花費很大精力去轉換進制,進而确定誰是勝者。 Bessie 想要作弊,而且認為隻要她能夠知道在一個指定區間範圍内的"round numbers"個數。

       幫助她寫一個程式,能夠告訴她在一個閉區間中有多少Hround numbers。區間是[start, finish],包含這兩個數。 (1 <= Start < Finish <= 2,000,000,000)

讀入/Input:

       Line 1: 兩個用空格分開的整數,分别表示Start 和 Finish。

輸出/Output:

       Line 1: Start..Finish範圍内round numbers的個數

題解/solution:

       暴力,肯定逾時。正解,不會。怎麼做,O(1)暴力打表。

代碼/Code:

       由于程式過長,不展示。請諒解。