在先前的文章《PHP如何輸出20世紀的所有閏年》中,我們利用閏年特性,介紹了判斷閏年的一種通用演算法。這次我們來介紹使用PHP如何判斷一個三位數是不是回文數,如何輸出全部三位回文數,有興趣的朋友可以學習了解一下~
#首先我們需要了解什麼是回文數?
回文數是指正序(由左向右)和倒序(從右向左)讀取都是一樣的整數,例如(0、1、2、3、4 、5、6、7、8、9、11、22、121、656、757、12321、5264625等)。
那麼如果給一個三位數i
,如何判斷這個三位數是不是回文數呢?
想法:
我們可以將這個三位數(例如121)的個位、十位、百位上的數,單獨取出,即g、s、b。
然後將g*100、s*10,在和百位數b相加:g*100 s*10 b
;這樣會得到一個新的三位數hws
。
使用if語句判斷i
是否等於hws
,即可判斷出該三位數i
是不是回文數了。
因此我們可以給出判斷一個三位數是不是回文數的方法
<?php header("Content-type:text/html;charset=utf-8"); $i=121; $b= intval($i/100); $s= ($i/10)%10; $g= $i%10; $hws=$g*100+$s*10+$b; if($i==$g*100+$s*10+$b){ echo $i."是回文数"; } else{ echo $i."不是回文数"; } ?>
輸出結果為:
121是回文数
既然知道如何判斷一個三位數是不是回文數了,下面增加難度:我們來輸出全部三位回文數!
分析:輸出全部三位回文數,那就是輸出100~999內的回文數;因此我們可以使用for迴圈來限定範圍
<?php header("Content-type:text/html;charset=utf-8"); $num=0; for($i=100;$i<1000;$i++){ $b= intval($i/100); $s= ($i/10)%10; $g= $i%10; $hws=$g*100+$s*10+$b; if($i==$g*100+$s*10+$b){ echo $i." "; $num++; } } echo "<br><br>三位回文数共有".$num."个"; ?>
輸出結果為:
可以看出,我們在for迴圈的迴圈體中,使用一個計數器$num
,在每次輸出一個三位回文數後,自增1,這樣就可以統計出100~999內有多少回文數了。
好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學
#以上是如何透過PHP程式輸出全部三位回文數的詳細內容。更多資訊請關注PHP中文網其他相關文章!