在之前的文章《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中文网其他相关文章!