Rumah > Artikel > pembangunan bahagian belakang > Pembelajaran gelung PHP lapan: kira bilangan nombor sempurna dari 1 hingga 10,000, dan keluarkan semua nombor sempurna
Dalam artikel sebelumnya "Pembelajaran Gelung PHP 7: Dua Kaedah Mencetak Jadual Pengiraan Pantas 9*9", kami memperkenalkan cara menggunakan gelung dan gelung sambil untuk mencetak jadual darab 99. Mari kita teruskan memahami gelung PHP dan memperkenalkan kaedah menilai sama ada nombor yang diberikan adalah nombor yang lengkap. Rakan-rakan yang berminat boleh mempelajarinya~
Pertama sekali, mari kita fahamiApakah nombor yang sempurna?
Nombor sempurna Nama penuh ialah Nombor sempurna (Nombor sempurna) Jika suatu nombor betul-betul sama dengan jumlah faktornya, maka nombor itu dipanggil nombor "perfect number". (Faktor merujuk kepada pembahagi selain daripada dirinya sendiri.)
Contohnya: 6=1 2 3, 6 ialah nombor sempurna.
Jadi jika nombor nombor (contohnya, 6) diberikan, bagaimana kita menilai sama ada nombor nombor itu lengkap?
Idea:
1 Uraikan nombor nombor kepada faktor, iaitu cari semua nombor yang boleh membahagi nombor kecuali dirinya. (Ini memerlukan penggunaan gelung).
Mari kita ambil gelung for sebagai contoh Kerana 1 boleh membahagikan sebarang integer, keadaan awal gelung ditetapkan 2. Selepas mencari faktor, anda perlu menambah faktor ini dan menjumlahkannya. Ini memerlukan pembolehubah $sum untuk menerima hasil pengiraan Kerana ia adalah penambahan, $sum boleh diberikan nilai 0 pada mulanya. 3 Tentukan sama ada $sum dan $num adalah sama, $num ialah nombor sempurna. Kod pelaksanaan diberikan di bawah: Lihat output: Sekarang anda tahu caranya untuk menilai a Untuk melihat sama ada nombor itu lengkap, tingkatkan kesukaran di bawah: Output semua nombor sempurna dalam julat tertentu (hanya 1~10000). Analisis: Terdapat julat 1~10000, kemudian kami menggunakan gelung for untuk mengehadkan julat, supaya gelung for ditetapkan di luar kod di atas: Lihat output: Bagaimana jika terdapat banyak julat yang diberikan dan anda ingin tahu berapa banyak nombor lengkap yang ada? Anda boleh menambah pembilang $b pada pernyataan if Setiap kali nombor lengkap dikeluarkan, $b akan meningkat sebanyak 1. Lihat output: OK, selesai! Semua nombor sempurna antara 1 dan 10,000 adalah output, dan bilangan nombor sempurna dikira. Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →tutorial video php Disyorkan: 《Koleksi soalan temuduga PHP (koleksi)》i=1
dan pembahagi tidak boleh nombor itu sendiri, jadi syarat sekatan ialah i$num=6;
for($i=1;$i<$num;$i++){
if($num%$i==0){//分解因数
}
}
$num=6;
$sum=0;
for($i=1;$i<$num;$i++){
if($num%$i==0){//分解因数
$sum=$sum+$i; //各因数相加,求和
}
}
<?php
header("Content-type:text/html;charset=utf-8");
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
header("Content-type:text/html;charset=utf-8");
$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 个完数。";
?>
Atas ialah kandungan terperinci Pembelajaran gelung PHP lapan: kira bilangan nombor sempurna dari 1 hingga 10,000, dan keluarkan semua nombor sempurna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!