91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中怎么統計1~10000的完數個數

發布時間:2021-08-13 17:27:27 來源:億速云 閱讀:148 作者:Leah 欄目:編程語言

PHP中怎么統計1~10000的完數個數,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

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

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

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

思路:

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

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

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

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

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

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

下面給出實現代碼:

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

看看輸出結果:

PHP中怎么統計1~10000的完數個數

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

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

<?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){//分解因數
	        $sum=$sum+$i;  //各因數相加,求和
	    }
	}
	if($sum==$i){//如果這個數等于本身 則為完數
	echo "$i 是完數!<br>";
	}
}	
?>

看看輸出結果:

PHP中怎么統計1~10000的完數個數

那如果給定范圍很多,想要知道有多少完數怎么辦?可以在if語句中加一個計數器 $b,每輸出一個完數,$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){//分解因數
	        $sum=$sum+$i;  //各因數相加,求和
	    }
	}
	if($sum==$i){//如果這個數等于本身 則為完數
	echo "$i 是完數!<br>";
	$b++;
	}
}
echo "<br>1~10000范圍內有:$b 個完數。";
?>

看看輸出結果:

PHP中怎么統計1~10000的完數個數

看完上述內容,你們掌握PHP中怎么統計1~10000的完數個數的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

嵊泗县| 酉阳| 监利县| 陆良县| 塘沽区| 东山县| 邮箱| 乌审旗| 滨海县| 永仁县| 八宿县| 葵青区| 会同县| 江源县| 鹤庆县| 耿马| 延吉市| 巨鹿县| 黄石市| 崇左市| 和顺县| 库伦旗| 襄汾县| 新昌县| 靖江市| 东山县| 龙游县| 仙游县| 临清市| 利辛县| 辽中县| 黑山县| 台南市| 普兰县| 冷水江市| 新建县| 丽水市| 融水| 永德县| 新野县| 桐庐县|