很火的Java題 判斷乙個整數是否是奇數

2021-09-16 13:25:09 字數 497 閱讀 9297

完成以下**,判斷乙個整數是否是奇數:

public boolean isodd(int i)

看過《程式設計珠璣》的人都知道這道題的答案和其中極為簡單的道理。

最普遍的風格,如下:

這個函式的定義要求返回乙個布林型別的值。而 if 後面的括號裡面的表示式的值也是乙個布林型別的。由此,可進行如下改進:

奇數可以分為正奇數和負奇數。奇數的數學表達形式為 2k+1 (k≠0)。由此,優化如下:

簡單分析,做出如下改進:

右移一位相當於該數除以2,右移2位相當於該數除以4,結果沒有小數字,都是取整。

左移一位相當於該數乘以2,左移2位相當於該數乘以2^2=4。

位運算:某數除以2,再乘以2不等於該數,說明該數為奇數:

=== and運算 ===

and運算通常用於二進位制的取位操作。乙個數 and 1的結果就是取二進位制的最末位。這可以用來判斷乙個整數的奇偶,二進位制的最末位為0表示該數為偶數,最末位為1表示該數為奇數。**如下:

判斷乙個整數是否為素數 確定乙個整數是否是2的冪

給定乙個整數,編寫乙個函式來確定它是否是2的冪。範圍 1 2 31 1 測試用例 輸入 16,輸出 true 因為 2 4 16 輸入 18,輸出 false.最明顯的暴力方法就是除以2,然後檢查它是否達到1。var poweroftwo function n 由於給出的範圍在0 2 31 1之間,...

判斷乙個整數是否是回文數

判定乙個正整數是否是乙個回文數。例如12121是回文數,而1231不是回文數。要判斷乙個整數是否是回文數,最自然的想法是把整數轉換成乙個字串,然後根據回文的對稱特性進行判斷。數字轉換為字串可以通過itoa函式實現,判斷字串是否為回文字串 如下 bool ispalindrome string str...

判斷乙個整數是否是回文數。

1 c語言不允許函式巢狀定義。解決辦法就是將函式放到外面定義。2 c語言裡沒有bool型true,false。需要自己定義 define bool int define true 1 define false 0或者使用標頭檔案stdbool.h。判斷乙個整數是否是回文數。include defin...