站長資訊網
        最全最豐富的資訊網站

        php循環學習十:判定水仙花數,打印全部水仙花數

        在之前的文章《PHP循環學習九:獲取給定兩數間的最大公因數》中,我們給大家介紹了在PHP程序怎么通過while循環語句來求給定兩個整數間的最大公約數,下面繼續php循環的學習~

        本文主要帶大家來看看,給定一個三位整數,怎么判斷該數是不是水仙花數?然后怎么輸出全部水仙花數。

        首先我們來看看什么是水仙花數?

        水仙花數是一個 3 位數,它的每個位上的數字的 3次冪之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

        下面我們先來看看怎么判斷給定的一個三位數,它是不是水仙花數?

        思路分析:

        根據上文我們知道:一個數$num要是水仙花數,那么它要滿足: 個位的3次方+十位的3次方+百位的3次方= $num本身

        那么我們可以先分解$num,得到個位$g、十位$s、百位$b

        然后判斷 $g^3 + $^3 +$b^3 是不是等于$num

        下面看看實現代碼:

        <?php header("Content-type:text/html;charset=utf-8"); function is_narcissistic ( $num ){ 	$b= intval($num/100); 	$s= ($num/10)%10; 	$g= $num%10; 	 //	if($b*$b*$b+$s*$s*$s+$g*$g*$g==$num){  等價于  	if(pow($b,3)+pow($s,3)+pow($g,3)==$num){ 		echo $num."是水仙花數<br>"; 	}else{ 		echo $num."不是水仙花數<br>"; 	} } is_narcissistic(153); is_narcissistic(152); ?>

        輸出結果:

        php循環學習十:判定水仙花數,打印全部水仙花數

        上例中pow($b,3)$b*$b*$b是等價的,都可以計算$b的三次方($b^3)。pow(x,y)函數可以返回 x 的 y 次方,即x^y

        我們知道水仙花數是一個 3 位數,則它是有定額的,那么如何計算并輸出所有的水仙花數呢?這就需要使用循環了。

        可以利用for循環來限定范圍在100~1000之間,寫法:

        <?php header("Content-type:text/html;charset=utf-8"); $i=0; for ( $num = 100; $num < 1000; $num++){ 	$b= intval($num/100); 	$s= ($num/10)%10; 	$g= $num%10; 	 	if(pow($b,3)+pow($s,3)+pow($g,3)==$num){ 		echo $num."<br>"; 		$i++; 	} } echo "水仙花數共有 $i 個"; ?>

        看看輸出結果:

        php循環學習十:判定水仙花數,打印全部水仙花數

        除了上面計算并輸出所有水仙花數的方法,還可以使用3個for循環遍歷每一位來輸出所有水仙花數:

        <?php header("Content-type:text/html;charset=utf-8"); $i=0; for($q=1;$q<=9;$q++){     for($w=0;$w<=9;$w++){       for($e=0;$e<=9;$e++){         if($q*$q*$q + $w*$w*$w + $e*$e*$e ==          100*$q + 10*$w + $e){            echo "$q $w $e "."<p>"; 		   $i++;         }       }     } } echo "水仙花數共有 $i 個"; ?>

        看看輸出結果:

        php循環學習十:判定水仙花數,打印全部水仙花數

        可以看出,輸出結果是一樣的。

        可以看出,我們在for循環的循環體中,使用一個計數器$num,在每次輸出一個三位回文數后,自增1,這樣就可以統計出100~999內有多少回文數了。

        好了就說到這里了,有其他想知道的,可以點擊這個哦。→ →php視頻教程

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久夜色精品国产欧美乱| 国产suv精品一区二区33| 亚洲AV永久无码精品网站在线观看| 国产精品视频网站| 综合在线视频精品专区| 国产精品成人无码久久久久久 | 无码人妻精品一区二区蜜桃百度| 18国产精品白浆在线观看免费| 日韩精品成人亚洲专区| 国产日韩精品无码区免费专区国产| 国产精品99久久精品| 久久亚洲精品成人AV| 中文字幕日韩精品无码内射| 久久99精品国产麻豆婷婷| 国产精品电影在线| 在线电影国产精品| 欧美精品香蕉在线观看网| 992tv精品视频tv在线观看| 久久精品无码一区二区无码| 自拍偷在线精品自拍偷| 亚洲乱码日产精品a级毛片久久| 蜜桃麻豆www久久国产精品 | 国产精品免费视频观看拍拍| 精品视频在线免费观看| 91精品在线看| 99久久99久久精品免费看蜜桃| 久久精品午夜一区二区福利| 亚洲精品一品区二品区三品区| 日韩蜜芽精品视频在线观看| 久久99热这里只有精品国产| 国产在线精品福利大全| 国产精品无码无卡无需播放器| 办公室久久精品| 91精品视频在线| 91精品一区二区综合在线| 911亚洲精品不卡| 97久久精品人人做人人爽| 国产精品成人久久久久久久| 国产微拍精品一区二区| 精品露脸国产偷人在视频| 久久夜色撩人精品国产|