2012-05-21 105 views
1

可能重複:
How do I check if a number is a palindrome?在PHP中檢查一個整數是否是迴文數?

如果一個整數,是不允許被視爲一個字符串,類型轉換是不允許的,我們怎樣才能找出數是否爲迴文與否(在PHP中)?

我所想出的程序是:

function checkPalindrome($number){ 
    $reverse_number = 0; 
    $number_backup = $number; 
    while($number > 0){ 
     $reverse_number = $reverse_number * 10 + $number % 10; 
     $number /= 10; 
    } 
    return $reverse_number == $number_backup; 
} 

在步驟「$數/ = 10」,生成將不會被整數,其創建問題的結果。

+0

$數=地板($數/ 10); – Robus

+0

哪裏有非字符串,無類型轉換的約束來自哪裏?這是一個[標籤:家庭作業]的問題嗎? –

+0

這是學校的問題嗎?爲什麼這些限制適用? – DampeS8N

回答

6

如果不允許類型轉換和字符串處理是禁止的,你需要做一些額外的計算:

while($number > 0){ 
    $lsd = $number % 10; 
    $reverse_number = $reverse_number * 10 + $lsd; 
    $number = ($number - $lsd)/10; 
} 
+0

太棒了!這解決了這個問題。 – sushil

+1

LSD lol。 (15個字符) –

+0

Cole,*最不重要的數字* :-) –

相關問題