乙個很大的數,怎麼判斷它是2的X次冪

2025-01-23 23:30:10 字數 2172 閱讀 2133

1樓:網友

for(int i=2;ielse retun 0;

這應該是最快處理的演算法了。

樓上樓下的,面試官既然說了很大的數,那就是無法估算的,比如乙個300位數,你怎麼來慢慢除?他要求的是演算法,是計算機處理能夠最快。四樓的方法寫起來最簡單,但計算機處理卻不快,因為計算機處理速度是加減,判斷比較等最快,而處理函式運算會很慢,所以一般在大資料情況下是不呼叫函式的,而我上面呼叫的迴圈中只處理*2和判斷兩個操作,判斷的速度前面說過了,計算機只要從高位判斷起就可以了,而*2的處理速度也很快,因為計算機裡是2進位的,所以只要左移一位就可以了。

2樓:網友

我覺得這種題目正確的數學方法並不是面試官想要的問題,你思考問題的方式才是更重要的。比如:先除以256(2的8次方),待除不淨時再除……依次類推(這樣總比一直除2要快吧)

3樓:七色清風

為什麼不先除以1000,因2^10=1024 這樣就可以估算出乙個大概範圍,餘數再除以512或256或128或64或32或16或8或4或2

這樣就很快估算出這個大數是2的x次冪。

我猜這是面試官考你靈活度,反應快慢的!

4樓:網友

x=log(2,y)

x為整數的話是,否則就不是。

求乙個數2次冪

5樓:堅持的歲月

乙個數的2次冪就是乙個數的平方,就是這個數乘以這個數,即:11²=11×11

判斷整數是否是2的冪次方

6樓:淚笑

1. 看到這個問題,直接的想法估計是對這個數直接判斷,如果這個數是2的n次方冪,那可以將這個數先對2取模為0,再對2整除,再對2取模,一直到這個數最後為2;如果不能這樣做,那麼這個整數就不是2的n次方冪,**如下:

int i = 128; /待判斷的整數。

int count = 1; /待判斷的整數是2的count次方。

while (i)

if (0 ==i%2)else

2. 其實還可以這樣想,乙個整數,若是2的n次方,有沒有想過對這個整數的2進位進行考慮,比如12,它的二進位為:1100

大家發現沒有,凡是2的n次方的整數,它的二進位的所有位中都只有乙個1,並且這個1肯定在最高位。既然這樣的話,那麼這個問題就變成了如何來計算二進位位中1的個數,對於這個計算演算法,《程式設計之美——微軟技術面試心得》這本書中講了三種方法,都很精闢,這兒我貼出其中一種的判斷方法,如下:

int fuc(int i)

if(count < 2)else

在向右移位的過程中,我們會把最後一位直接丟棄。因此,需要判斷最後一位是否為1,而「與」操作可以達到目的。可以把這個八位的數字與00000001進行「與」操作。

如果結果為1,則表示當前八位數的最後一位為1,否則為0。

2的-x次冪

7樓:海可奇恨寒

f(x)=2^(-x),其反函式為 g(x)=-log底豎運猛2(x),若餘橋使該函式值g(x)=1/4,則x=2^(-1/4)=1/(√2));

同理,函式對f(x)=log底81(x),使其反函式值等於1/4的x=log底81(1/4)=-2log底81(2),但這悄歷一取值超出自變數的定義域(1

試判斷2的10次冪×5的8次冪是幾位數

8樓:聽不清啊

2的10次冪×5的8次冪=2的2次冪×2的8次冪×5的8次冪=2的2次冪×10的8次冪。

4×10的8次冪。

它是乙個9位數(10的1次冪是乙個2位數)

9樓:網友

2^10=1024,常識,不需解釋,5^8=(5^4)^2,625*625不解釋,大概1000×360000,9位數。

10樓:匿名使用者

大腦不休息大腦不休息。

試判斷2的10次冪×5的8次冪是幾位數?

11樓:浮宇索炳君

2的10次冪×5的8次冪=2的絕吵緩2次冪×2的8次冪×5的8次冪。

2的碰肆2次冪×10的8次冪。

4×10的8次冪。

它是乙個並模9位數(10的1次冪是乙個2位數)

c怎麼判斷數是不是整數,c怎麼判斷一個數是不是整數

只能用sizeof a 與當前機子的整數所佔位元組數比較 一般為4個位元組 這種方法可以區別整數和實數,但也不是處處成立。例如若a為指標,則一般sizeof a 也為4.別的方法都不嚴格。c語言判斷一個數是否為整數 使用截尾函式可以驗證!截尾函式是指將小數點後面的全部丟掉!所以,如果是整數的話,那麼...

如何判斷完全平方數?怎麼判斷一個數是完全平方數

怎麼判斷一個數是完全平方數 判斷一個數是完全平方數的方法如下 廣義 只要這個數是另一個有理數的平方,則這個數就是完全平方數。狹義 只要這個數是另一個整數的平方,則這個數就是完全平方數。完全平方數的性質 一個數如果是另一個整數的完全平方,那麼我們就稱這個數為完全平方數,也叫做平方數。例如 觀察這些完全...

什麼是質數 怎麼判斷乙個數是不是質數

如何判斷乙個數是不是質數?根據質數的定義,在判斷乙個數n是否是質數時,只要用至n 去除n,看看能談磨否整除即可。還有更嫌拍好的辦法 先找乙個數m,使m的平方大於n,再用芹侍羨小於等於m的質數去除n n為被除數 如果都不能整除,則n必然是質數。如我們要判斷是不是質數, ,那麼只要用除以 的質數看是否能...