亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

那曲县| 万源市| 大安市| 肥西县| 长宁县| 南木林县| 岗巴县| 浑源县| 塘沽区| 西宁市| 武功县| 沂南县| 扬州市| 吐鲁番市| 佛坪县| 梨树县| 东乡族自治县| 安远县| 兴海县| 抚州市| 大关县| 大港区| 海阳市| 从化市| 周口市| 荥经县| 松潘县| 麻栗坡县| 泾源县| 平山县| 大城县| 邳州市| 克山县| 房产| 新竹县| 铜川市| 黎平县| 商水县| 阜南县| 奎屯市| 衡南县|