找回老闆的密碼

2021-09-20 19:37:58 字數 1205 閱讀 7100

問題:老闆忘了保險箱的密碼,他只記得是四位數字,前兩個數字相同,後兩個數字也相同,並且該數字是乙個數的平方,請幫忙找回該老闆的密碼

對於這個問題,至少有三種解法,因為我只想到了三種:)

下面用php來實現

// 解法一

function

getpwd()  } 

} return

$arr

; } 

$rs= getpwd(); 

print_r($rs

);  演算法很簡單,乙個形如aabb的數,一定是由1100*a + 11*b組成的,如果這個數開方與ab相等,那這個數就是密碼。

執行結果:

array 

( [0] =>

7744 

) 只有乙個,哦也。

雖說是找到密碼了,但這個演算法卻不是最優的。巢狀迴圈會執行8*9=72次。

執行的時間為:0.0003秒

下面看看演算法二:

// 解法二

function

isvalid(

$num)  

function

getpwd()  } 

return

$arr

; } 

$rs= getpwd(); 

print_r($rs

);  這個演算法比上面的好一些,因為做了預判斷,四位數的範圍是1000-9999,所以迴圈的範圍就限制到了32*32至100*100,迴圈次數為68次,執行時間約為0.0002秒

但這還不是最優的,下面看演算法三:

// 演算法三

function

isvalid(

$num)  

function

getpwd()  } 

return

$arr

; } 

$rs= getpwd(); 

print_r($rs

);

array 

( [0] =>

7744 

) 這個演算法做了更多的分析,形如aabb的能被11整除並能開方的數也一定能被121整除,於是可以確定迴圈的範圍為1100/121的平方根至9999/121的平方根,取整後的範圍為3-10,這意味著只需要迴圈7次就能找出所有的結果。可見,演算法三是這三種演算法中效率最高的。

找回MysQL密碼

由於前段時間要用powerdesigner設計資料庫,可資料庫設計好後好匯入mysql時需要odbc連線,而mysql5.0以上的均要修改密碼 我在網上查過 按他們的意思修改了root密碼,結果是直接進不了mysql了,我那個鬱悶,在網上查詢資料,也按他們的方法做了,可還是不行 本人對dos不熟 但...

MySQL 找回密碼

windows 1.關閉正在執行的mysql。2.開啟dos視窗,轉到mysql bin目錄。3.輸入mysqld skip grant tables回車。如果沒有出現提示資訊,那就對了。4.再開乙個dos視窗 因為剛才那個dos視窗已經不能動了 轉到mysql bin目錄。5.輸入mysql回車,...

MAC找回密碼

首先將mac關機,然後重新開機,按下電源鍵的同時,立刻按住鍵盤上的command鍵 r鍵不要鬆手 2等待載入過去 選擇 以簡體中文作為主要語言 點選下方的箭頭繼續 點選螢幕頂端工具欄上的 實用工具 選項 選擇 終端 開啟終端後,輸入 resetpassword,然後點回車 點了回車後,終端介面後面會...