演算法與資料結構 判斷乙個數是否是3的乘方

2022-04-27 10:45:13 字數 412 閱讀 6420

題:不適用迭代或者遞迴,判斷乙個int型別的非負整數是否為3的乘方

解題思路:

查表法,因為int型別的非負整數是有限的,將所有整數放入乙個set中。然後直接判斷輸入是否在set中即可

整除法,因為3是素數,首先int型別內3的最大乘方數,如果乙個int型別數是3的乘方,那麼該數必然能夠整除最大乘方

對應**如下:

int

max_power_3()

bool ispowerofthree(int

n)

set

powers;

void

init_map()

}

bool ispowerofthree1(int

n)

資料結構演算法題 判斷乙個數字是否是回文數

題目大意 判斷乙個數字是否是回訪字數,不要使用額外的空間。解題思路 先逆序然後判斷是否相等 為了不使用額外的空間,參考了其它的解決,那些解法看起來在ispalindrome方法中沒有使用額外引數,但是卻使用了方法呼叫,這個比乙個整數消耗的空間更多 並沒有達到題目的要求,是假的實現,所以本題依然採用乙...

資料結構與演算法 判斷乙個整數是否是回文數

具體定義不多介紹 肯定不是回文的負數直接輸出false 考慮到程式的執行效率以及額外儲存空間和溢位等情況,所以採用首尾數字進行比較,即二分查詢 首先想到int sting char陣列,但是因為要逆序儲存字串,造成了額外的儲存空間問題,而且要實現型別轉換,過程複雜 其次是直接把int逆序,然後比較是...

判斷乙個數是否是回文數

題目 定義回文數的概念如下 如果乙個非負數左右完全對應,則該數是回文數,如 121,22 如果乙個負數的絕對值左右完全對應,則該數是回文數,如 121,22 public static void main string args printrandm arr,3 1 5 4 system.out.p...