久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      PHP循環(huán)學習八:統(tǒng)計1~10000的完數(shù)個數(shù),并輸出全部完數(shù)

      在之前的文章《PHP循環(huán)學習七:打印9*9速算口訣表的兩種方法》中,我們介紹了如何使用for循環(huán)和while循環(huán)打印九九乘法口訣表。下面我們繼續(xù)來了解PHP循環(huán),介紹一下判斷給定一個數(shù)是不是完數(shù)的方法,感興趣的朋友可以學習了解一下~

      首先我們來了解一下什么是完數(shù)?

      完數(shù) 全稱 完全數(shù)(Perfect number),如果一個數(shù)恰好等于它的因子之和,則這個數(shù)就稱為"完數(shù)"。(因子是指除了自身以外的約數(shù)。)

      例如:6=1+2+3,6就是一個完數(shù)。

      那么如果給出一個數(shù) num(例如6),我們怎么判斷這個數(shù) num 是不是完數(shù)?

      思路:

      1、將數(shù)num分解成一個個因子,即找到除了自身以外,所有能整除 num 的數(shù)。(這個就需要使用到循環(huán)了)。

      我們以for循環(huán)為例,因為1能整除任何整數(shù),所以設置循環(huán)初始條件 i=1;而除數(shù)不能是num自身,因此限制條件為 i<num。這樣for循環(huán)的框架就粗來了~

      $num=6; for($i=1;$i<$num;$i++){     if($num%$i==0){//分解因數(shù)              } }

      2、找到因子后,需要將這些因子相加,求和。這就需要一個變量$sum來接受計算結果,因為是加法,所以$sum可初始賦值為0。

      $num=6; $sum=0; for($i=1;$i<$num;$i++){     if($num%$i==0){//分解因數(shù)         $sum=$sum+$i;  //各因數(shù)相加,求和     } }

      3、判斷 $sum 和 $num 是否相等,如果相等,則$num為完數(shù)。

      下面給出實現(xiàn)代碼:

      <?php header("Content-type:text/html;charset=utf-8"); $num=6; $sum=0; for($i=1;$i<$num;$i++){     if($num%$i==0){//分解因數(shù)         $sum=$sum+$i;  //各因數(shù)相加,求和     } } if($sum==$i){//如果這個數(shù)等于本身 則為完數(shù) echo "$i 是完數(shù)!"; } ?>

      看看輸出結果:

      PHP循環(huán)學習八:統(tǒng)計1~10000的完數(shù)個數(shù),并輸出全部完數(shù)

      既然知道了如何判斷一個數(shù)是不是完數(shù)了,下面增加難度:輸出一個給定范圍(就1~10000好了)的所有完數(shù)。

      分析:有一個1~10000的范圍,那么我們使用for循環(huán)來限定范圍,這樣就在上面代碼的外面在套一層for循環(huán):

      <?php header("Content-type:text/html;charset=utf-8"); $num=6; for($a=1;$a<=10000;$a++){ 	$sum=0; 	for($i=1;$i<$a;$i++){ 	    if($a%$i==0){//分解因數(shù) 	        $sum=$sum+$i;  //各因數(shù)相加,求和 	    } 	} 	if($sum==$i){//如果這個數(shù)等于本身 則為完數(shù) 	echo "$i 是完數(shù)!<br>"; 	} }	 ?>

      看看輸出結果:

      PHP循環(huán)學習八:統(tǒng)計1~10000的完數(shù)個數(shù),并輸出全部完數(shù)

      那如果給定范圍很多,想要知道有多少完數(shù)怎么辦?可以在if語句中加一個計數(shù)器 $b,每輸出一個完數(shù),$b就自增1。

      <?php header("Content-type:text/html;charset=utf-8"); $num=6; $b=0; for($a=1;$a<=10000;$a++){ 	$sum=0; 	for($i=1;$i<$a;$i++){ 	    if($a%$i==0){//分解因數(shù) 	        $sum=$sum+$i;  //各因數(shù)相加,求和 	    } 	} 	if($sum==$i){//如果這個數(shù)等于本身 則為完數(shù) 	echo "$i 是完數(shù)!<br>"; 	$b++; 	} } echo "<br>1~10000范圍內(nèi)有:$b 個完數(shù)。"; ?>

      看看輸出結果:

      PHP循環(huán)學習八:統(tǒng)計1~10000的完數(shù)個數(shù),并輸出全部完數(shù)

      OK,完成!輸出了1~10000間的所有完數(shù),并統(tǒng)計了完數(shù)的個數(shù)。

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

      推薦:《PHP面試題大匯總(收藏)》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號